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

这是一种方法。将 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 回答