1

ポーリング アプリケーションをまとめようとしています。データベースから取得したオプション (Option_1、Option_2 など) を含むラジオ ボタン リストを表示する必要がありますが、ラジオ ボタンの値を 1、2、3、4 にする必要があります。送信されると、投票結果を保持する別のデータベースに挿入されます。ここでこのコードをいじっていますが、ラジオ ボタンの横にオプション テキストを表示できません。助言がありますか?

             <asp:RadioButtonList ID="Answers" runat="server">
                <asp:ListItem Value="1" Text="<% prs['Option_1'].ToString() %>"></asp:ListItem>
                <asp:ListItem Value="2" Text="<% prs['Option_2'].ToString() %>"></asp:ListItem>
                <asp:ListItem Value="3" Text="<% prs['Option_3'].ToString() %>"></asp:ListItem>
                <asp:ListItem Value="4" Text="<% prs['Option_4'].ToString() %>"></asp:ListItem>
              </asp:RadioButtonList>

これもいじった

var op1 = prs["Option_1"].ToString();
                var op2 = prs["Option_2"].ToString();
                var op3 = prs["Option_3"].ToString();
                var op4 = prs["Option_4"].ToString();

                if (op1 != "")
                {
                    Answers.Items.Add("1");
                }
                if (op2 != "")
                {
                    Answers.Items.Add("2");
                }
                if (op3 != "")
                {
                    Answers.Items.Add("3");
                }
                if (op4 != "")
                {
                    Answers.Items.Add("4");
                }
4

1 に答える 1

1

ここにそれを行う1つの方法があります。for ループを、表示する回答を処理するループに置き換えます。項目ごとに ListItem を作成し、それをリストに入れます。次に、リストをラジオ ボタン リストのデータソースとして設定します。

var optionList = new List<ListItem>();

for (var i = 0; i < 4; i++)
{
  var newItem = new ListItem()
  {
      Value = count.ToString(),
      Text = string.Format("Option {1}", count.ToString());
  };

  optionList.Add(newItem);
}

Answers.DataSource = optionList;
Answers.DataBind();
于 2012-10-16T21:00:45.190 に答える