私のデザイン ページにRadioButtonList
は、 event を持つ項目テンプレートに がありますOnSelectedIndexChanged
。このイベントが発生すると、エラーが発生します
object reference not set to an instance of an object
つまり、値を設定しても、ラジオボタン リストに null 値が表示されます。
<asp:GridView ID="gdvHomeGenlist" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#3366CC" BorderStyle="None"
BorderWidth="1px" CellPadding="4" Height="12px"
ShowFooter="True" Width="335px"
OnRowCommand="gdvHomeGenlist_RowCommand">
<Columns>
<asp:TemplateField HeaderText="Attendance">
<ControlStyle Width="200px" />
<HeaderStyle Font-Bold="True" Font-Size="8pt" Width="10px" />
<ItemTemplate>
<asp:RadioButtonList ID="rdbattnd" runat="server"
RepeatDirection="Horizontal"
OnSelectedIndexChanged="rdbattnd_SelectedIndexChanged"
AutoPostBack="True">
<asp:ListItem Value="1">Attended</asp:ListItem>
<asp:ListItem Value="2">Not attended</asp:ListItem>
</asp:RadioButtonList>
<asp:TextBox ID="txtbxHmListGenRsnForNotAttdSpcify" runat="server" ></asp:TextBox>
</ItemTemplate>
<ItemStyle Font-Size="8pt" />
</asp:TemplateField>
</Columns>
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
コードビハインド:
protected void rdbattnd_SelectedIndexChanged(object sender, EventArgs e)
{
RadioButtonList rdbAttendance =
(RadioButtonList)gdvHomeGenlist.FindControl("rdbattnd"); ///fetching null
/// error object reference is not set to an
/// instance of an object
if (rdbAttendance.SelectedValue == "1")
{
// some action
}
}