Asp.net IE7中的下拉式客户端验证,使用Html.ValidateFor()助手
我有一个奇怪的问题,关于我的表单上下拉列表的验证。一个下拉列表是状态列表,并用RequiredAttribute修饰:Asp.net IE7中的下拉式客户端验证,使用Html.ValidateFor()助手,asp.net,asp.net-mvc,validation,asp.net-mvc-2,client-side,Asp.net,Asp.net Mvc,Validation,Asp.net Mvc 2,Client Side,我有一个奇怪的问题,关于我的表单上下拉列表的验证。一个下拉列表是状态列表,并用RequiredAttribute修饰: [Required(ErrorMessage="State is required.")] 在视图中,下拉列表及其验证定义为: <%: Html.DropDownListFor(m => m.State, new SelectList(BusinessLayer.UsStates.GetList())) %> <% Html.ValidateFor(m
[Required(ErrorMessage="State is required.")]
在视图中,下拉列表及其验证定义为:
<%: Html.DropDownListFor(m => m.State, new SelectList(BusinessLayer.UsStates.GetList())) %>
<% Html.ValidateFor(m => m.State); %>
这真让人讨厌……) 解决了我的问题:
IE7对没有呈现每个选项的value属性感到不高兴。因此,将一个列表
传递到SelectList()
中并没有切断它。必须传入键/值对类型对象的列表,并传入DataValueField和DataTextField参数,如下所示:
<%: Html.DropDownListFor(m => m.State, new SelectList(BusinessLayer.UsStates.GetList(), "Value", "Text"))%>
<%: Html.DropDownListFor(m => m.State, new SelectList(BusinessLayer.UsStates.GetList(), "Value", "Text"))%>
m.State,新建SelectList(BusinessLayer.UsStates.GetList(),“值”,“文本”))%>
这真让人讨厌……) IE7中有javascript错误吗?