问题描述
大家好,目前正在帮老师做一个数据分析的系统,其中有一块是做问卷调查的。由于问卷的题目是固定的,所以没有涉及到数据库,只要把问卷的结果插入到数据库中就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>
问题解答
回答1:你的问题包含两个内容:1) 如何获取每个radiobuttonlist(以下简称rbl)的选定值2)你不想 通过书写每一个 radiobuttonlist的 id值 来实现 对所有rbl的遍历?若是:1) 第一个问题jKey已经回答了.2) 思路: 先获取 所有 radiobuttonlist 的控件集合, 然后遍历该控件集合.
List selectedValues=new List(); foreach(Control c in pnlContainer.Controls) { if(c is RadioButtonList) { RadioButtonList rbl=(RadioButtonList)c; selectedValues.Add(rbl.SelectedValue); } }
aspx页面内,最好 将所有rbl放在一个父控件内
...... ......

