我在ASP.Net网页上的GridView中有一个RadioButtonList。我无法在后面的代码中获取SelectedValue。 RadioButtonList看起来像这样:
<asp:GridView runat="server" ID="gvDataInfo" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Reimbursement Validation">
<ItemTemplate>
<asp:Label runat="server" ID="lblEligible" Text='<%# Eval("MonthlyServiceEligible") %>'></asp:Label><asp:RadioButtonList ID="rblDataMonthlyServiceEligible" runat="server" RepeatDirection="Horizontal" SelectedValue='<%# Eval("MonthlyServiceEligible") %>'>
<asp:ListItem Text="No" Value="False" />
<asp:ListItem Text="Yes" Value="True" />
</asp:RadioButtonList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我的代码背后是这样的:
RadioButtonList rblEligible = new RadioButtonList();
bool Eligible = false;
if (LastDataRowNumber >= 0)
{
rblEligible = (RadioButtonList)gvDataInfo.Rows[LastDataRowNumber].FindControl("rblDataMonthlyServiceEligible");
if (rblEligible.SelectedValue != null)
Eligible = Convert.ToBoolean(rblEligible.SelectedValue);
}
GridView中有许多其他控件,但为了简单起见,我只展示了RadioButtonList。 LastDataRowNumber以编程方式设置并且是正确的。我可以通过调试器验证它的值,并且可以正确地获取GridView中此行的其他控件的值。但是,RadioButtonList.SelectedValue始终设置为&#34; True&#34;在后面的代码中,无论我在客户端上设置它。我错过了什么?