我使用像这样的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-”,值为空。
如何验证选择值以查看它是否为空? 我的意思是如果用户没有选择一个组,我怎么能知道它并给用户一个错误信息。 现在,代码只显示异常错误,因为默认选项的值为空。
答案 0 :(得分:2)
Action中的Group值为0。 您可以测试Group是否为零并调用ModelState.AddModelError。 如果可以在下拉列表中显式设置默认项的值,那会更好,但是在Html.DropDownList中不可能
无论如何我使用了重载:
通过这种方式,您可以在模型中为一个组列表创建一个属性,为一个组中的键具有一个属性。如果我使用
然后ModelState.IsValid对我来说总是假的。