2017-10-09 7 views
1

私は、クエリーストリングの使用を避けるために、セッション変数を使用して目的の値を渡すことを試みています。 私はこのことをクラスからハンドラーにやっています。私が使用するハンドラでクラスからハンドラーへのAsp.NET C#セッション変数

HttpContext.Session["name"] = "Value"; 

::私が使用したクラスで

var name = context.Session["name"]; 

私はすでにIReadOnlySessionStateまたはIRequiresSessionStateを追加したが、セッション変数はnullに残ります。

いくつかお手伝いしますか?

答えて

1

もう一度新しいコンテキストを作成していると思います。 HttpContext.Currentを使用して同じセッションを使用する必要があります。 次のようにコードを試してみてください。

string firstName = "Jeff"; 
    string lastName = "Smith"; 
    string city = "Seattle"; 

    // Save to session state in a Web Forms page class. 
    Session["FirstName"] = firstName; 
    Session["LastName"] = lastName; 
    Session["City"] = city; 

    // Read from session state in a Web Forms page class. 
    firstName = (string)(Session["FirstName"]); 
    lastName = (string)(Session["LastName"]); 
    city = (string)(Session["City"]); 

    // Outside of Web Forms page class, use HttpContext.Current. 
    HttpContext context = HttpContext.Current; 
    context.Session["FirstName"] = firstName; 
    firstName = (string)(context.Session["FirstName"]); 
+0

こんにちは。あなたの答えをありがとう...しかし、それは動作していません... 私はクラスの値を設定していますが、ハンドラで、それはまだnullです。 – user3330412

関連する問題