ASP.NET RequiredFieldValidator无法与DropDownList Firefox 6一起使用
本文关键字:Firefox 一起 DropDownList NET RequiredFieldValidator ASP | 更新日期: 2023-09-27 18:07:59
在Firefox 6中使用所需的字段验证器验证dropdownlist时出现问题。我的代码适用于除Firefox 6之外的所有浏览器。
发生的情况是,我从下拉列表中选择一个不是默认值的值,然后单击按钮。返回一条错误消息,这意味着即使我选择了不同的字段,验证也失败了。如果我再次执行此操作,并从下拉列表中选择SAME值,然后单击按钮。没有错误消息,它通过了验证。这只会在您第一次选择值时失败,而且仅在Firefox 6中失败。
另一个例子是,加载页面,选择一个值,再次选择相同的值,单击按钮,它就通过了。WTH?
<asp:dropdownlist id="ddlHour" cssclass="select select-small" runat="server">
<asp:listitem value="" text="" selected="true"></asp:listitem>
<asp:listitem value="1">1</asp:listitem>
<asp:listitem value="2">2</asp:listitem>
</asp:dropdownlist>
<asp:requiredfieldvalidator id="rfvHour" initialvalue="" controltovalidate="ddlHour" errormessage="Please select an hour" display="none" validationgroup="banquetForm" runat="server"/>
我稍后在表格中有一个与相同验证组的按钮。如有帮助,我们将不胜感激,谢谢。
尝试使用以下方法:
<asp:dropdownlist id="ddlHour" cssclass="select select-small" runat="server">
<asp:listitem value="0" Text="" selected="true"></asp:listitem>
<asp:listitem value="1">1</asp:listitem>
<asp:listitem value="2">2</asp:listitem>
</asp:dropdownlist>
<asp:RequiredFieldValidator ID="HourValidate" runat="server" ControlToValidate="ddlHour" ErrorMessage="Please select an hour" InitialValue="0"></asp:RequiredFieldValidator>
如何使用DropDownList
设置所需的字段验证器
假设你的下拉列表中有这些项目。。
DropDownList1.Items.Add(new ListItem("--Select--","0"));
DropDownList1.Items.Add(new ListItem("Kaushal","1"));
DropDownList1.Items.Add(new ListItem("Naresh","2"));
DropDownList1.Items.Add(new ListItem("Pankaj", "3"));
然后-:将requiredfieldvalidator
的控件设置为validate属性为DropDownlist1
,并将requiredfieldvalidator
的InitialValue
属性设置为0
,因为这将是
的值--Select--
可以在上面显示。
如果我错了,请纠正我,但我认为您使用了错误的验证器。默认情况下,下拉列表总是有一个值,所以要求它是没有意义的。我认为你想做的是进行比较,以确保它不是第一选择。这个页面展示了如何做到这一点的快速演示。
http://forums.asp.net/t/1188035.aspx/1