2012-04-18 34 views
0

1從一個列表框項目複製到另一列表框:(發送列表框項放入列表,並保存該列表爲一個會話變量)需要使用會話可變

List<string> list = new List<string>(); 
foreach(ListItem item in ListBox1.Items) 
{ 
    list.Add(item.ToString()); 
} 
Session["temp"] = list; 

第2頁:(複製會話可變進列表,並指派該頁面中的列表,列表框)

List<string> list = new List<string>(); 
list = (List<string>)Session["JobRole"]; 
foreach (ListItem item in list) 
{ 
    ListBox2.Items.Add(item.ToString()); 
} 

在這樣做,這是錯誤即時得到:無法鍵入「字符串」轉換爲「System.Web.UI.WebControls.ListItem '

任何人都可以幫助我嗎?

感謝

+1

使用兩個不同的會話密鑰,在這裏發佈是否有錯誤? – 2012-04-18 19:39:09

+0

您的會話變量在2頁中不同,它們都應該是「temp」或「JobRole」。 – Zachary 2012-04-18 19:39:16

回答

2

不要你的意思

foreach (string item in list) 
    { 
     ListBox2.Items.Add(item); 
    } 

...列表是string的List畢竟。

+0

擊敗我17秒! – Nik 2012-04-18 19:39:32

0

這是因爲您已將List定義爲List。如果您只是想將字符串值添加到列表框,你可以這樣做:

List<string> list = new List<string>(); 
     list = (List<string>)Session["JobRole"]; 
     foreach (string item in list) 
     { 
      ListBox2.Items.Add(item); 
     } 

您也應該檢查會話[「JobRole」]不爲空。

+0

非常感謝!得到它了 :) – user1264228 2012-04-18 19:45:47