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

本文关键字:列表 一个 另一个 复制 会话 变量 项目 | 更新日期: 2023-09-27 18:31:38

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

这样做时,这是我得到的错误:无法将类型"字符串"转换为"系统.Web.UI.WebControls.ListItem"

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

谢谢

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

你不是说

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

。列表毕竟是string的列表。

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

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

此外,您还应该检查会话["工作角色"]是否为空。