我在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;
}
}
答案 0 :(得分:1)
您的网格可能会在您的网页加载中再次绑定,这就是您的radiobuttonlist也再次绑定的原因,并且您正在丢失所选的值。确保在页面加载中if(!Page.IsPostBack)
下绑定。
答案 1 :(得分:0)
如果要在页面加载时绑定GridView
,最好的办法就是在databind
之前调用一个函数,该函数读取RadioButtonList
中的GridView
并将其保存在静态DataTable