次の方法で共有


方法 : セッション状態から値を読み取る

更新 : 2007 年 11 月

次のコード例では、Item プロパティにアクセスし、セッション状態の値を取得します。

使用例

Dim firstName as String = CType(Session.Item("FirstName"), String)
Dim lastName as String = CType(Session.Item("LastName"), String)
Dim city as String = CType(Session.Item("City"), String)
string firstName = (string)(Session["First"]);
string lastName = (string)(Session["Last"]);
string city = (string)(Session["City"]);

コードのコンパイル方法

この例で必要な要素は次のとおりです。

  • セッション状態が有効にされている ASP.NET アプリケーションの Current プロパティを使用して、現在の要求コンテキストにアクセスできる Web フォーム ページまたはクラス。

堅牢性の高いプログラム

存在しないセッション状態から値を取得しようとしても、例外はスローされません。必要な値がセッション状態にあることを確認するには、まず次のようなテストでオブジェクトが存在するかどうかをチェックしてください。

If Session.Item("FirstName") Is Nothing Then
    ' No such value in session state, take appropriate action.
End If
if (Session["City"] == null) 
    // No such value in session state; take appropriate action.

たとえば、型を調べるためなどの目的で、存在しないセッション状態を他の方法で使用しようとした場合、NullReferenceException 例外がスローされます。

セッション値は Object 型です。Visual Basic では、Option Strict On を設定した場合、セッション状態から値を取得するときは、上の例に示すように Object 型から適切な型へキャストする必要があります。C# では、セッション値を読み取るときは常に適切な型にキャストする必要があります。

参照

概念

ASP.NET ビューステートの概要

ASP.NET の状態管理の概要

ASP.NET の状態管理に関する推奨事項

ASP.NET の状態管理の概要