RadioButtonList在单击按钮时失去值

本文关键字:失去 按钮 单击 RadioButtonList | 更新日期: 2023-09-27 17:49:18

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

EnableCallbacks for grid是true

Enableviewstate for grid is true

autoostback for RadioList为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;
    }
}

RadioButtonList在单击按钮时失去值

你的网格可能在你的页面加载中再次绑定,这就是为什么你的单选按钮列表也再次绑定,你失去了你选择的值。确保在页面加载时绑定在if(!Page.IsPostBack)下。

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