ASP.NET セッション管理チュートリアル [例]

ASP.NETセッション管理

すべての Web アプリケーションが動作する HTTP プロトコルはステートレス プロトコルです。 ステートレスとは、あるリクエストから別のリクエストまで情報が保持されないことを意味します。

たとえば、2 つのテキストがあるログイン ページがあるとします。boxXNUMX つは名前用、もう XNUMX つはパスワード用です。 そのページで「ログイン」ボタンをクリックすると、アプリケーションはユーザー名とパスワードが次のページに確実に渡されるようにする必要があります。

ASP.Net では、これはさまざまな方法で行われます。 XNUMX つ目の方法は、ViewState と呼ばれる概念を使用する方法です。 ここには、ASP.Net がすべてのコントロールのコンテンツを自動的に保存します。 また、これが次のページに確実に渡されるようにします。 これは、ViewState と呼ばれるプロパティを介して行われます。

開発者がビューステートで何かを変更することは理想的ではありません。 これは、ASP.Net のみで処理する必要があるためです。

ASP.NETセッションオブジェクト

もう XNUMX つは、「セッション オブジェクト」と呼ばれるオブジェクトを使用する方法です。 Session オブジェクトは、アプリケーションのライフサイクル全体を通じて使用できます。 Session オブジェクトには、キーと値のペアをいくつでも保存できます。 したがって、どのページでも、以下のコード行を使用して Session オブジェクトに値を保存できます。

Session["Key"]=value

これにより、値が Session オブジェクトに保存され、「キー」部分は値に名前を付けるために使用されます。これにより、値を一度に取得できるようになります。 later ある時点。値を取得するには、以下のステートメントを発行するだけです。

Session["Key"]

ASP.NETセッションオブジェクトの例

この例では、Session オブジェクトを使用して、名前テキストに入力された名前を保存します。box ページ内のフィールド。 次に、その値を取得し、それに応じてページに表示します。 以下のコードを Demo.aspx.cs ファイルに追加してみましょう。

セッションオブジェクトを使用する

protected void btnSubmit_Click(object sender,EventArgs e)
{
	Session["Name"] = txtName.Text;

	Response.Write(Session["Name"]);

	lblName.Visible = false; 
	txtName.Visible = false; 
	1stLocation.Visible = false;
	chkC.Visible = false; 
	chkASP.Visible = false; 
	rdMale.Visible = false;
	rdFemale.Visible = false;
	btnSubmit.Visible = false;
}

コードの説明:-

  1. コードの最初の行は、名前テキストの値を受け取ります。box を制御し、Session オブジェクトに保存します。 Session[“Name”] のコードを指定することで、プロパティに「Name」という名前を付けます。プロパティの名前を指定すると、すぐにプロパティを取得しやすくなります。 later ある時点。
  2. コードの次の行は、Session オブジェクトから保存された値を取得します。 次に、この値を「Response.Write」メソッド経由でクライアントに書き込みます。
  3. 最後に、フォーム上のすべてのコントロールを非表示にします。 これを行わないと、すべてのコントロールと応答値が一緒に表示されます。

上記の変更を行うと、次のようになります。wing 出力

出力:

セッションオブジェクトを使用する

出力から、name のセッション値が取得され、ブラウザーに表示されたことがわかります。

まとめ

  • セッション管理はその解決策です ASP.net 情報があるページから別のページに確実に受け渡されるようにするためです。
  • ページのビュー ステート プロパティは、あるページから別のページにコントロールの情報を自動的に渡すために使用されます。
  • 「Session」オブジェクトは、Web ページ内の特定の値を保存および取得するために使用されます。