如何在点击button按钮发生页面回发时RadioButtonList还有选中项

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
里边有加载试题的代码
}
}
protected void Button1_Click(object sender, EventArgs e)//提交按钮单击事件
{
for (int i = 1; i <= 3; i++)
{

        RadioButtonList list = (RadioButtonList)Panel1.FindControl("cbk" + i.ToString()) as RadioButtonList;

//能不能在点击button时让RadioButtonList不为空
}
}

在页面回发的情况下,您可以使用以下代码来保留RadioButtonList的选中项:

protected void Page_Load(object sender, EventArgs e)
{
    if(IsPostBack)
    {
        //加载页面时,让RadioButtonList保留其选中项
        for(int i = 1; i <= 3; i++)
        {
            RadioButtonList list = (RadioButtonList) Panel1.FindControl("cbk" + i.ToString()) as RadioButtonList;
            list.DataBind();
        }
    }
    else
    {
        //里边有加载试题的代码
    }
}

需要注意的是,当页面第一次加载时(也就是非回发状态),RadioButtonList可能没有选中项。在这种情况下,您需要在初始化时设置RadioButtonList的选中项。


例如,可以使用以下代码来设置RadioButtonList的第一项为选中项:

RadioButtonList list = (RadioButtonList) Panel1.FindControl("cbk" + i.ToString()) as RadioButtonList;
list.SelectedIndex = 0;