我有一个asp下拉菜单,我正在尝试验证它,但验证工作正常。
我的下拉列表和验证码:
<asp:DropDownList CssClass="form-control"
runat="server" ID="cmb_Addresses"
ValidationGroup="ShippingAddress">
</asp:DropDownList>
<asp:RequiredFieldValidator ControlToValidate="cmb_Addresses"
ValidationGroup="ShippingAddress"
InitialValue="0"
Display="dynamic"
ErrorMessage='Please select an address'
runat="server"/>
以下是填充下拉列表的方法:
private void SetupAddresses()
{
var accountService = new AccountService();
var userService = new UserService();
var username = userService.GetLoggedInUser();
var addresses = accountService.GetAddressesForUser(username);
cmb_Addresses.Items.Clear();
cmb_Addresses.Items.Add(new System.Web.UI.WebControls.ListItem("--Please Select--", "0"));
foreach (var address in addresses)
{
cmb_Addresses.Items.Add(new System.Web.UI.WebControls.ListItem(address.Name, GetAddressValue(address)));
}
}
我已经尝试了我在网上找到的所有建议,但它们没有用。
哦,该方法在!IsPostback
中调用答案 0 :(得分:0)
您是否在执行PostBack的按钮中添加了正确的ValidationGroup
?因为我测试了你的代码片段并且有效。
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="ShippingAddress" />
如果您确实将其添加到按钮,则页面上某处可能存在javascript错误,该错误会干扰Validator。如果有错误,验证器将无效并且表单已发布。