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

Asp.net mvc ASP.NET MVC如何处理下拉列表的默认空值,asp.net-mvc,drop-down-menu,Asp.net Mvc,Drop Down Menu,我使用ASP.NET MVC helper创建了一个下拉列表,如下所示 <%=Html.DropDownList("Group","-please select a group-")%> 我得到的html是这样的 <label for="GroupId">Group:</label> <select id="GroupId" name="GroupId"><option value="">-please select a grou

我使用ASP.NET MVC helper创建了一个下拉列表,如下所示

<%=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>
组:
-请选择一个组-
生意
朋友
其他
默认选项为“-请选择一个组”,值为空

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

操作中Group的值将为0。 您可以测试组是否为零,并调用ModelState.AddModelError。 如果可以在dropdownlist中显式设置默认项的值,但在Html.dropdownlist中不可能这样做,则效果会更好

无论如何,我使用重载:

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


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

您好,谢谢您的回答。但我无法测试组是否为零。你是怎么做到的?嗨,Eric,如果你使用强类型视图,Model.Group==0。(int)如果将ViewData用作字典,则ViewData[“Group”]==0。