asp.net问卷设计取值的问题


大家好,目前正在帮老师做一个数据分析的系统,其中有一块是做问卷调查的。由于问卷的题目是固定的,所以没有涉及到数据库,只要把问卷的结果插入到数据库中就ok了。现在我遇到的问题是,用多个RadioButtonList来让用户选择,但是如何一次性获取到多个RadioButtonList的每一个值呢?我最初的方法是一个一个的取值,然后插入到数据库中,感觉这种方法很笨,但是我asp.net不是很熟练,不懂怎么解决这问题,请大家指点一二。谢谢。
我的代码如下:
后台:

string value1 = "";
        for (int i = 0; i < RadioButtonList1.Items.Count; i++)
        {
            if (RadioButtonList1.Items[i].Selected)
            {
                value1 = RadioButtonList1.Items[i].Value;
            }
        }
        string value2 = "";
        for (int i = 0; i < RadioButtonList2.Items.Count; i++)
        {
            if (RadioButtonList2.Items[i].Selected)
            {
                value2 = RadioButtonList2.Items[i].Value;
            }
        }
       ……此后还有很多行类似上面的代码

前台:

<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal">
            <asp:ListItem Text="非常重要" Value="0.75,1,1"></asp:ListItem>
            <asp:ListItem Text="明显重要" Value="0.5,0.75,1"></asp:ListItem>
            <asp:ListItem Text="重要" Value="0,0.25,5"></asp:ListItem>
            <asp:ListItem Text="稍微重要" Value="0,0,0.25"></asp:ListItem>
            <asp:ListItem Text="同等重要" Value="1"></asp:ListItem>
        </asp:RadioButtonList>

c# .net asp.net

薙切爱丽丝 11 years, 3 months ago

你的问题包含两个内容:
1) 如何获取每个radiobuttonlist(以下简称rbl)的选定值
2)你不想 通过书写每一个 radiobuttonlist的 id值 来实现 对所有rbl的遍历?
若是:
1) 第一个问题jKey已经回答了.
2) 思路: 先获取 所有 radiobuttonlist 的控件集合, 然后遍历该控件集合.

List<string> selectedValues=new  List<string>();
    foreach(Control  c in pnlContainer.Controls)
    {
          if(c is RadioButtonList)
        {
             RadioButtonList rbl=(RadioButtonList)c;
             selectedValues.Add(rbl.SelectedValue);
        }
      }

aspx页面内,最好 将所有rbl放在一个父控件内

<asp:Panel runat="server" id="pnlContainer">
   <asp:RadioButtonList ID="RadioButtonList1" runat="server">
            <asp:ListItem Text="非常重要" Value="0.75,1,1"></asp:ListItem>
             ......
    </asp:RadioButtonList>
    <asp:RadioButtonList ID="RadioButtonList2" runat="server">
            <asp:ListItem Text="非常重要" Value="0.75,1,1"></asp:ListItem>
             ......
    </asp:RadioButtonList>
</asp:Panel>
egl_had answered 11 years, 3 months ago

Your Answer