2012-06-21 121 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