1

目標

セッションが存在しない場合にのみリストを作成します。

問題

Visual Studio から返されたメッセージ:

名前productsが現在のコンテキストに存在しません。

次のコードがあります。

public ActionResult Add(int productId)
{
    if (Session["ShoppingList"] == null)
    {
        List<int> products = new List<int>();
    }

    products.Add(productId);
    Session["ShoppingList"] = products;
    return View("Index");
}

はい、わかっています。変数を設定していませifproducts。ただし、セッションが存在する場合は、「リスト」が既に存在し、理論的にはproductsすでに存在することを意味します。

では、どうすればこれを「修正」できますか?

4

6 に答える 6

4

Session["ShoppingList"]毎回再割り当てを必要としない、より簡潔なコード:

public ActionResult Add(int productId)
{
    if (Session["ShoppingList"] == null)
    {
        Session["ShoppingList"] = new List<int>();
    }

    ((List<int>)Session["ShoppingList"]).Add(productId);
    return View("Index");
}
于 2013-06-20T20:24:35.587 に答える