2012-07-24 15 views
0

我有一個datagrid內的單選按鈕,它位於repeater內。有4 radiobuttons是爲repeater內的每個「重複」創建的,我希望選擇這4箇中的一個爲必填項。我已經將這些radiobuttons放在同一個GroupName之內,因此只能選擇其中的1個。要求做一個單選按鈕選擇

它們不在radiobuttonlist中,我不想將它放在單選按鈕列表中。

+0

這可以用任何數量的方式來完成,或者通過驗證或者乾脆檢查,看是否有單選按鈕已經做出選擇。你有什麼嘗試? – Spacemancraig 2012-07-24 19:00:27

+0

我還沒有嘗試過任何東西,我知道驗證器確實存在,但我不知道如何驗證它們,因爲它們不是相同的控件 – 2012-07-24 19:02:25

回答

0

既然你有他們在相同的組名稱,你可以做一個自定義的驗證。

<asp:CustomValidator ID="myValidator" runat="server" ErrorMessage="you must select one" onservervalidate="myValidator_serverValidate" /> 

然後在後面的代碼,

protected void myValidator_serverValidate(object sender, ServerValidateEventArgs e) 
    { 
     bool isSelected = false; 

     foreach (Control control in yourForm.Controls) 
     { 
     if (control == RadioButton) 
     { 
     RadioButton rb = (RadioButton)control; 
     if (rb.GroupName == "myGroup" && rb.Checked) 
     { 
      isSelected = true; 
     } 
     } 
     } 
     e.IsValid = isSelected; 
    }