RadioButtonList нулевые значения

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

Этот список переключателей заполняется несколько раз во время выполнения одной и той же страницы.

//Where do you fill the RadioButtonList
public void MostraImagensCarrefadas()
{
    List<String> files = new manFile().getListFilesForDirectory(this, MAE.DIRETORIO_TEMP_IMG);

    rbImagemPrincipal.Items.Clear();

    if (files != null)
    {
        foreach (String item in files)
        {
            rbImagemPrincipal.Items.Add(new ListItem(item));
        }
    }
}


//As it is in aspx
<div>
<asp:RadioButtonList ID="rbImagemPrincipal" runat="server" RepeatDirection="Vertical" AutoPostBack="false" OnSelectedIndexChanged="rbImagemPrincipal_SelectedIndexChanged"></asp:RadioButtonList>

 //where only encounter null values ​​when trying to get the selected item (clicked)
 //Nothing I do is the value obtained direferente null.
if (rbImagemPrincipal.SelectedItem != null)
                {
                    if (rbImagemPrincipal.SelectedItem.ToString() == str)
                    {
                        imagem.imagemPrincipal = "SIM";

                    }
                }

person Elton da Costa    schedule 23.08.2013    source источник


Ответы (2)


Кажется, что вы заполняете RadioButtonList при загрузке страницы - если это так - убедитесь, что вы окружили свою популяцию RadioButtonList блоком If / Then / Postback: если не Page.IsPostBack, то 'заполните свой конец RBL, если

eg:

        if (!IsPostBack)
        {
            loadradiobuttonlist();
        }
person pooja    schedule 03.01.2014

Прежде всего, это страница, позволяющая узнать значение, а не приложение.

Итак, вам нужны ScriptManager и Timer, оба являются расширениями Ajax. Добавьте их на страницу.

protected void Page_Load(object sender, EventArgs e)
{
    Timer1.Interval = 2000; // set your interval
}
protected void Timer1_Tick(object sender, EventArgs e)
{
     int result =  RadioButtonList1.SelectedIndex;
}

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

person Na Na    schedule 23.08.2013