Как проверить несколько переключателей в ретрансляторе ASP.NET в C # - PullRequest
0 голосов
/ 22 мая 2018

У меня несколько переключателей, и я использую GroupName, чтобы выбрать хотя бы 1 из 2 вариантов.Кажется, я не могу получить GroupName, поэтому я могу проверить, чтобы убедиться, что 1 из 2 был выбран нажатием кнопки отправки.

 <myRepeater>

     <asp:CustomValidator 
       ID="CustomValidator1" 
       runat="server" 
       ErrorMessage="* Select an option" 
       ForeColor="#ff0000" 
       OnServerValidate="option1_Validation" 
       Display="Dynamic" /> 

     <asp:RadioButton 
       ID="rdOption1" 
       Text="Option_1" 
       GroupName="gnOption1" 
       runat="server" />

     <asp:RadioButton 
       ID="rdOption2" 
       Text="Option_2" 
       GroupName="gnOption1" 
       runat="server" />

 </myRepeater>

Код:

 protected void option1_Validation(object source, ServerValidateEventArgs args)
 {
     bool itemSelected = false;
     foreach (RepeaterItem ri in myRepeater.Items)
     {
         RadioButton rb= (RadioButton)ri.FindControl("gnOption1");
         {               
             if (rb.GroupName == "gnOption1" && rb.Checked == true)
             {
                  itemSelected = true; 
             }
             args.IsValid = itemSelected;
         }
     }
 }

Ответы [ 2 ]

0 голосов
/ 23 мая 2018
protected void game1_Validation(object sender, ServerValidateEventArgs args)
    {
        CustomValidator CustomValidator1 = (CustomValidator)sender;
        bool itemSelected = false;
        RepeaterItem ri = (RepeaterItem)CustomValidator1.Parent;         
        {
            if (ri is RadioButton)
            {
                RadioButton rb = (RadioButton)ri.FindControl("gnOption11");
                if (rb.GroupName == "gnOption1" && rb.Checked == true)
                {
                    itemSelected = true;
                }
            }
        }
        args.IsValid = itemSelected;
    }
0 голосов
/ 23 мая 2018

Вам придется привести объект-отправитель в качестве пользовательского валидатора:

CustomValidator myCustomValidator = (CustomValidator)sender;

Затем найдите родителя CustomValidator, в данном случае элемент повторителя:

RepeaterItem ri = (RepeaterItem)myCustomValidator.Parent;

И, наконец, получите контроль:

RadioButton rb= (RadioButton)ri.FindControl("gnOption1");

Вам придется настроить его под свои нужды.

...