列表清除时会话清除

时间:2012-05-08 07:26:08

标签: c# list session

static List<string> keywordList = new List<string>();

protected void btnEnter_Click(object sender, EventArgs e)
{
    lbxKeywords.Items.Add(tbxKeyword.Text);
    keywordList.Add(tbxKeyword.Text);
    tbxKeyword.Text = string.Empty;
}

protected void btnSearch_Click(object sender, EventArgs e)
{
    Session["keywords"] = keywordList;
    keywordList.Clear();
    Response.Redirect("Results.aspx");
}

当我清除列表会话时变为null。那是为什么?

感谢名单..

1 个答案:

答案 0 :(得分:2)

那是因为你在会话变量中存储的只是对列表的引用,而不是列表的副本。

创建会话变量列表的副本:

Session["keywords"] = new List<string>(keywordList);