【问题标题】:ASP.NET MVC how to handle the default empty value for dropdown listASP.NET MVC 如何处理下拉列表的默认空值
【发布时间】:2009-06-17 10:53:36
【问题描述】:

我使用这样的 ASP.NET MVC 助手创建一个下拉列表,

<%=Html.DropDownList("Group","-please select a group-")%>

我得到这样的html,

<label for="GroupId">Group:</label>
<select id="GroupId" name="GroupId"><option value="">-please select a group-</option>
<option value="15">Business</option>
<option value="16">Friends</option>
<option value="17">Others</option>
</select>

默认选项为“-please selecta group-”,值为空。

如何验证选择值以查看它是否为空? 我的意思是如果用户没有选择一个组,我怎么知道它并给用户一个错误消息。 现在,代码只显示异常错误,因为默认选项的值为空。

【问题讨论】:

    标签: asp.net-mvc drop-down-menu


    【解决方案1】:

    Action 中 Group 的值为 0。 您可以测试 Group 是否为零并调用 ModelState.AddModelError。 如果可以在下拉列表中显式设置默认项的值会更好,但这在 Html.DropDownList 中是不可能的

    无论如何我都使用重载:

    这样,您在模型中就有一个用于组列表的属性和一个用于选定组的键的属性。如果我使用

    那么 ModelState.IsValid 对我来说总是假的。

    【讨论】:

    • 您好,谢谢您的回答。但我无法测试 Group 是否为零。你是怎么做到的?
    • 您好 Eric,Model.Group==0,如果您使用强类型视图。 (int)ViewData["Group"]==0 如果您使用 ViewData 作为字典。
    猜你喜欢
    • 2021-09-03
    • 2016-11-16
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2022-01-17
    相关资源
    最近更新 更多