2012-06-21 67 views
0

我有一个表有3列。在第三列中有一个用户评估第一列和第二列相似性的单选按钮列表。该表格有60多行,并且是动态创建的。所有这些都像一个魅力。但是:如何在提交之后读取radiobuttonlist(或者用户选择的值)?我曾尝试以下,但不工作(全部是当然的一种形式):从动态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+重新加载...

任何提示?

+0

我认为你必须创建'RadioButtonList'每次当页面有回传。 – OammieR

回答

0

代替:

this.Session [“eval1”] = eval1;

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

+0

此代码运行时,我没有这些值。否则,我可以使用上面的代码。 – Jan

0

这段代码放在哪里呢?也许你应该把它放在如果(!的IsPostBack){} try.For例如

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; 

} 
+0

它在Page_Load中。我想读取“next”Page_Load中的值,其中isPostBack为true。 – Jan

+0

@Jan如果(!IsPostBack){},则必须将代码放入Page_Load中,否则该值将在视图状态中覆盖。所以你不会找到任何价值。 – Myd

+0

我试过 - 没有什么区别。 – Jan