RadioButtonList在按钮Click上失去值

时间:2011-04-06 18:01:00

标签: c# asp.net gridview radiobuttonlist

我在ASPX RadioButtonList的dataItemTemplate中有一个GridView。我想在ButtonClick事件上为每个RadioButtonList选择索引。在按钮单击事件上,radioButton列表的selectedIndex为-1。如何使我的RadioList记住按钮单击事件中用户选择的值。

网格的EnableCallbacks为真

网格的Enableviewstate为真

RadioList的AutoPostBack为false。

<DataItemTemplate>
    <dxe:ASPxRadioButtonList ID="m_RadioList" runat="server" 
        Border-BorderStyle="None" ClientInstanceName="RadioList" 
        OnInit="OnRadioListInit">
        <Border BorderStyle="None" />
        <Items>
            <dxe:ListEditItem Text="M" Value="0" />
            <dxe:ListEditItem Text="F" Value="1" />
            <dxe:ListEditItem Text="NA" Value="2" />
        </Items>
    </dxe:ASPxRadioButtonList>
</DataItemTemplate>


protected void OnASPxButtonClick(object sender, EventArgs e)
{
    for (int row = 0; row < m_ASPxGridView.VisibleRowCount; row++)
    {
        ASPxRadioButtonList radio = m_AccessPoint_UsersASPxGridView.FindRowCellTemplateControl(row,null, "m_RadioList") as ASPxRadioButtonList;

        int r = (int) radio.SelectedIndex;
    }
}

2 个答案:

答案 0 :(得分:1)

您的网格可能会在您的网页加载中再次绑定,这就是您的radiobuttonlist也再次绑定的原因,并且您正在丢失所选的值。确保在页面加载中if(!Page.IsPostBack)下绑定。

答案 1 :(得分:0)

如果要在页面加载时绑定GridView,最好的办法就是在databind之前调用一个函数,该函数读取RadioButtonList中的GridView并将其保存在静态DataTable