ASP.Net c # Какая радиокнопка в данном GroupName выбрана? - PullRequest
11 голосов
/ 07 декабря 2010

У меня есть 30 отдельных RadioButtons.Я не могу использовать RadioButtonList.Есть 3 группы кнопок.Каждая группа имеет уникальное имя группы.Все работает правильно в веб-браузере.Как я могу сказать в сообщении назад, какая кнопка выбрана в каждом из названий GroupsNames?

РЕДАКТИРОВАНИЕ: функция, которую я использовал

private string getRadioValue(ControlCollection clts, string groupName)
{
    string ret = "";
    foreach (Control ctl in clts)
    {
        if (ctl.Controls.Count != 0)
        {
            if (ret == "")
                ret = getRadioValue(ctl.Controls, groupName);
        }

        if (ctl.ToString() == "System.Web.UI.WebControls.RadioButton")
        {
            RadioButton rb = (RadioButton)ctl;
            if (rb.GroupName == groupName && rb.Checked == true)
                ret = rb.Attributes["Value"];
        }
    }
    return ret;
}

Ответы [ 3 ]

9 голосов
/ 07 декабря 2010

Вы должны проверить все проверенные свойства радио-кнопок.
Нет простого способа проверить его по groupName.(вы можете написать метод, который сканирует все радиокнопки в некотором контейнере управления и возвращает список пар groupName, контроль проверен, но проще сканировать все rb)

1 голос
/ 12 сентября 2012

Прикрепите один и тот же обработчик к каждой RadioButton. Затем проверьте свойства, которые вы ищете. Установите для параметра Включить обратную передачу значение true.

protected void RadioButton1_30_CheckedChanged(object sender, EventArgs e)
{
    RadioButton rb = (RadioButton)sender;        
    string txtVal = rb.Text;
    string groupName= rb.GroupName;
    int tmpInt;
    Int32.TryParse(txtVal, out tmpInt);

}
0 голосов
/ 07 декабря 2010

Вы можете использовать Request.Form ("groupName")

...