Получить выбранный переключатель не в списке в ASP .NET - PullRequest
5 голосов
/ 07 сентября 2010

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

Ответы [ 2 ]

9 голосов
/ 07 сентября 2010

Возможно, не самый быстрый способ, но что-то вроде этого должно работать:

private RadioButton GetSelectedRadioButton(string groupName)
{
    return GetSelectedRadioButton(Controls, groupName);
}

private RadioButton GetSelectedRadioButton(ControlCollection controls, string groupName)
{
    RadioButton retval = null;

    if (controls != null)
    {
        foreach (Control control in controls)
        {
            if (control is RadioButton)
            {
                RadioButton radioButton = (RadioButton) control;

                if (radioButton.GroupName == groupName && radioButton.Checked)
                {
                    retval = radioButton;
                    break;
                }
            }

            if (retval == null)
            {
                retval = GetSelectedRadioButton(control.Controls, groupName);
            }
        }
    }

    return retval;
}
0 голосов
/ 07 сентября 2010

Используйте атрибут «GroupName», чтобы сгруппировать переключатели в группу. Это позволит им вести себя как группа. Вам все равно нужно будет запросить их отдельно для проверки статуса.

...