0

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

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;

当我提交这个时,会话变量包含单选按钮列表,但没有选择任何值。

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

有什么提示吗?

4

2 回答 2

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;

}
于 2012-06-21T04:07:44.773 回答
0

代替:

this.Session["eval1"] = eval1;

使用字符串数组来存储会话中的值。

于 2012-06-21T03:20:41.747 回答