ASP.net перебирает элементы управления в таблице

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

   foreach ( Control ctrl in Table1.Controls)
    {
        if (ctrl is RadioButtonList)
        {
           //get the text value of the selected radio button 
        }
    }

но я застрял в том, как я могу получить значение выбранного элемента для данного элемента управления.


person c11ada    schedule 21.03.2010    source источник


Ответы (1)


Попробуй это:

foreach (Control ctrl in Table1.Controls)
{
    if (ctrl is RadioButtonList)
    {  
        RadioButtonList rbl = (RadioButtonList)ctrl;

        for (int i = 0; i < rbl.Items.Count; i++)
        {
            if (rbl.Items[i].Selected)
            {
                //get the text value of the selected radio button
                string value = rbl.Items[i].Text;
            }
        }
    }
}

Чтобы определить выбранные элементы в элементе управления RadioButtonList, выполните итерацию по коллекции Items и проверьте свойство Selected каждого элемента в коллекции.

Посмотрите здесь: Контроль веб-сервера RadioButtonList

person Leniel Maccaferri    schedule 21.03.2010
comment
Ошибка 1 «System.Web.UI.Control» не содержит определения для «Элементов», и не удалось найти метод расширения «Элементы», принимающий первый аргумент типа «System.Web.UI.Control» (вы пропустили используя директиву или ссылку на сборку?) C:\Users\C!\Documents\My Dropbox\Final Year\Project\ASP\WebSite2\Default5.aspx.cs 61 42 C:\...\WebSite2\ - person c11ada; 21.03.2010
comment
примените ctrl к radionbuttonlist внутри цикла for (int i = 0; i < ((RadioButtonList )ctrl).Items.Count; i++) - person fearofawhackplanet; 21.03.2010
comment
@ c11ada: я забыл привести crtl к RadioButtonList. Пока я исправлял код, fairofawhackplanet написал комментарий выше. Телепатия. :) - person Leniel Maccaferri; 21.03.2010