使用数据库中的数据填充RadioButtonList

时间:2012-10-16 20:50:37

标签: c# asp.net radio-button radiobuttonlist

我正在尝试整理一个轮询应用程序,我需要显示一个单选按钮列表,其中包含从数据库中提取的选项(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");
                }

1 个答案:

答案 0 :(得分: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();