ASP.NET MVC如何处理下拉列表的默认空值

时间:2009-06-17 10:53:36

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

我使用像这样的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-”,值为空。

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

1 个答案:

答案 0 :(得分:2)

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

无论如何我使用了重载:

  

通过这种方式,您可以在模型中为一个组列表创建一个属性,为一个组中的键具有一个属性。如果我使用

  

然后ModelState.IsValid对我来说总是假的。