需要使用会话变量将项目从一个列表框复制到另一个列表框

时间:2012-04-18 19:36:18

标签: c# asp.net list session session-variables

第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());
}

这样做,这是我得到的错误:无法将类型'string'转换为'System.Web.UI.WebControls.ListItem'

任何人都可以帮我解决这个问题吗?

由于

2 个答案:

答案 0 :(得分:2)

你不是说

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

... list毕竟是string的列表。

答案 1 :(得分:0)

那是因为您已将列表定义为List。如果您只想将字符串值添加到列表框中,则可以执行以下操作:

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

此外,您应该检查Session [“JobRole”]是否为空。