代码之家  ›  专栏  ›  技术社区  ›  Deniz Dogan

ASP.NETMVC:DropDownList验证

  •  2
  • Deniz Dogan  · 技术社区  · 14 年前

    注意:下面只是一个例子。

    我是个新手ASP.NETMVC和我正试图弄清楚下拉列表的验证是如何工作的。我有以下财产 ProfileViewModel

    [DisplayName("Gender")]
    public bool? Gender { get; set; }
    

    null true 女性和女性 false 男性。在视图模型构造函数I中

    AllGenders = new List<SelectListItem>(2)
                 {
                     new SelectListItem {Text = "Unknown", Value = "null"},
                     new SelectListItem {Text = "Male", Value = "false"},
                     new SelectListItem {Text = "Female", Value = "true"}
                 };
    

    List<SelectListItem> 感觉有点奇怪。真的是这样吗?

    其次,当我在列表中选择“未知”时,验证失败告诉我:

    为什么?当我删除“null”选项并更改 Gender 到一个简单的 bool ,一切似乎都很好。

    <%= Html.DropDownList("Gender", Model.AllGenders) %>
    

    )我拿不到 DropDownListFor 但似乎很多人都有同样的问题。)

    感谢您的帮助!

    1 回复  |  直到 14 年前
        1
  •  4
  •   John Farrell    14 年前
    new SelectListItem {Text = "Unknown", Value = "null"},
    

    new SelectListItem {Text = "Unknown", Value = ""},
    

    过帐“”将导致绑定null。