从动态radiobuttonlist中检索值

时间:2012-06-21 03:17:15

标签: c# asp.net radiobuttonlist

我有一个有3列的表。在第3列中,有一个radiobuttonlist,用户用它来评估第1列和第2列的相似性。该表有60多行,是动态创建的。所有这一切都像一个魅力。但是:如何在提交后阅读radiobuttonlist(或者更确切地说是用户选择的值)?我尝试过以下方法,但这不起作用(所有这些都是当然的形式):

eval1 = new RadioButtonList();
eval1.Items.Add(new ListItem("Agree","1"));
eval1.Items.Add(new ListItem("Somewhat Agree","2"));
eval1.Items.Add(new ListItem("Disagree","3"));
eval1.Attributes.Add("runat", "server");
this.Session["eval1"] = eval1;

当我提交此内容时,会话var保存radionbuttonlist,但没有选择任何值。

我尝试将AutoPostBack设置为true,并将行为更改为我需要的行为。但是每次用户选择一个选项时我都不想重新加载页面。这意味着60多次重装......

任何提示?

2 个答案:

答案 0 :(得分:0)

取代:

this.Session [“eval1”] = eval1;

使用字符串数组将值存储在会话中。

答案 1 :(得分:0)

这段代码放在哪里?也许你应该把它放在if(!IsPostBack){}中。例如

if(!IsPostBack)
{
      eval1 = new RadioButtonList();
      eval1.Items.Add(new ListItem("Agree","1"));
      eval1.Items.Add(new ListItem("Somewhat Agree","2"));
      eval1.Items.Add(new ListItem("Disagree","3"));
      eval1.Attributes.Add("runat", "server");
      this.Session["eval1"] = eval1;

}