2017-03-14 26 views
0

我有一個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

你添加正確的ValidationGroup到執行回發的按鈕?因爲我測試了你的代碼片段並且工作正常。

<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="ShippingAddress" /> 

如果你沒有將它添加到該按鈕,有可能是一個JavaScript錯誤的地方,與驗證干擾頁面上。如果有錯誤,Validator將無法工作並且表單被髮布。