クイズ プロジェクトでは、質問には 2 つの項目 (T/F) または 4 つの項目 (a、b、c、d) のラジオボタン リストがあり、質問の数はさまざまです。パネルは、一度に 1 つの質問のみを表示するために使用されます (表示/非表示)。すべての質問に回答した後、ユーザーが送信ボタンをクリックすると、すべての回答がデータベースに保存されます。コード ビハインドでは、selecteditem は常に null で、value は常に空の文字列です。
<asp:DataList ID="dtQuestion" runat="server" RepeatDirection="Vertical" OnItemDataBound="FormatDataListRow" >
<ItemTemplate>
<asp:Panel id="panel" runat="server" BorderColor="#536895" BorderStyle="Solid" BorderWidth="1" style="display: none;" EnableViewState="true">
<asp:Label id="lblQuestionDesc" runat="server" Text="" ></asp:Label>
<asp:RadioButtonList id="rbl" runat="server" EnableViewState="true" > </asp:RadioButtonList>
</asp:Panel>
</ItemTemplate>
</asp:DataList>
送信をクリックします。ページで RBL を検索する関数を呼び出します。正しい ID とリスト アイテムを表示できますが、何も選択されていません。
string id;
if (c.GetType().ToString().Equals("System.Web.UI.WebControls.RadioButtonList"))
{
if (c.ID != "rbl")
{
id = c.ID;
al.Add(id + "," + ((RadioButtonList)c).SelectedItem.Value); //SelectedValue); //
}
}