0
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になります。何故ですか?

ありがとう..

4

1 に答える 1

2

これは、セッション変数に保存するものは、リストのコピーではなく、単なるリストへの参照であるためです。

セッション変数のリストのコピーを作成します。

Session["keywords"] = new List<string>(keywordList);
于 2012-05-08T07:29:20.357 に答える