为什么验证器不在这里工作。但它适用于其他文本框控件。没有错误。它只是回发。
<asp:DropDownList Id="ddlCustomer" runat="server" AppendDataBoundItems="true"
DataTextField="customername" DataValueField="customerid">
<asp:ListItem Text="--Select--" Value="0"></asp:ListItem>
<asp:ListItem Text=" < Add New > " Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
initialvalue="--Select--"></asp:RequiredFieldValidator>
initialValue
应该是“0”而不是文本“ - 选择 - ”
如下
<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
initialvalue="0"></asp:RequiredFieldValidator>
你在--Select--
中给出了RequiredFieldValidator
的初始值,但是没有任何项目的值为--Select--
,RequiredFieldValidtor在获得项目的值等于InitialValue
时触发。所以在这种情况下它永远不会开火。
您需要将值作为0
放在验证器的InitialValue
中,或者更改DropDown的第一项的值。
<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
InitialValue="0"></asp:RequiredFieldValidator>
要么
<asp:ListItem Text="--Select--" Value="--Select--"></asp:ListItem>
但我建议你使用第一种方法。