ASPビューコントロールにradiobuttonlistがあります。実行時に radiobuttonlist を動的に設定しています。しかし、selectedindexchange イベントは発生しません。自動ポストバック page.oninit を有効にしようとしましたが、起動しません。
<asp:MultiView ID="MultiView1" runat="server">
<asp:View ID="View1" runat="server">
<br />
<asp:Label ID="Label1" runat="server" Text="Label" CssClass="text"></asp:Label>
<asp:Label ID="Label2" runat="server" Text="Label" CssClass="text"></asp:Label>
<br />
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True"
onselectedindexchanged="RadioButtonList1_SelectedIndexChanged1">
</asp:RadioButtonList>
<br />
<p align="center">
<asp:Button ID="Button1" runat="server" Text="Previous" onclick="Button1_Click" Width="100px" />
<asp:Button ID="Button2" runat="server" Text="Next" onclick="Button2_Click" Width="100px" />
</p>
</asp:View>
</asp:MultiView>
私の onpage_load コード
if (!IsPostBack)
{
cnn.Open();
cmd.Connection = cnn;
cmd.CommandText = "SELECT ")";
adp.SelectCommand = cmd;
adp.Fill(ds);
cnn.Close();
dt = new DataTable("Answered");
dt.Columns.Add("Serial", typeof(int));
dt.Columns.Add("question", typeof(string));
dt.Columns.Add("opt1", typeof(string));
dt.Columns.Add("opt2", typeof(string));
dt.Columns.Add("opt3", typeof(string));
dt.Columns.Add("opt4", typeof(string));
dt.Columns.Add("answer", typeof(int));
dt.Columns.Add("selected", typeof(int));
foreach (DataRow r in ds.Tables[0].Rows)
{
dr = dt.NewRow();
dr["Serial"] = dt.Rows.Count + 1;
dr["question"] = r["question"];
dr["opt1"] = r["opt1"].ToString();
dr["opt2"] = r["opt2"].ToString();
dr["opt3"] = r["opt3"].ToString();
dr["opt4"] = r["opt4"].ToString();
dr["answer"] = Convert.ToInt16(r["answer"].ToString());
dr["selected"] = -1;
dt.Rows.Add(dr);
}
Session["Answered"] = dt;
Show();
}