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>
薙切爱丽丝
11 years, 10 months ago
Answers
你的问题包含两个内容:
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, 10 months ago