为什么验证器不在此处工作。但它适用于其他文本框控件。 没有错误。它只是回发。
<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>
答案 0 :(得分:4)
initialValue
应该是“0”而不是文字“ - 选择 - ”
如下所示
<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
initialvalue="0"></asp:RequiredFieldValidator>
答案 1 :(得分:3)
您已在--Select--
中将初始值设为RequiredFieldValidator
,但没有项目的值为--Select--
,RequiredFieldValidtor在获取项目的值等于{时触发{1}}。所以在这种情况下它永远不会发射。
您需要将值InitialValue
放在验证程序的0
中,或更改DropDown第一项的值。
InitialValue
OR
<asp:RequiredFieldValidator runat="server" ControlToValidate="ddlCustomer"
cssclass="required" display="dynamic" errormessage="*" setfocusonerror="true"
InitialValue="0"></asp:RequiredFieldValidator>
但我建议你使用第一种方法。