1

ユーザー名とパスワード用の2つのテキストボックスを持つaspxページがあります。送信ボタンをクリックすると、別のページにリダイレクトされます。このページには、「セッションの期限切れ」と「プロファイルページに移動」という2つのボタンがあります。2番目のボタンをクリックすると、ユーザーはこのページのコンテンツを表示できる別のページに移動します。ユーザーが[セッションの期限切れ]ボタンをクリックすると、セッションが期限切れになり、ユーザーが[プロファイルページに移動]をクリックしたときに必要になりますボタンをクリックするとページにリダイレクトされますが、セッションが終了したためコンテンツは表示されません。これが送信ボタンのコーディングです。

 protected void clicked(object sender, System.EventArgs e)
    {
        Session["username"] = textbox_username.Text.ToString();
        Session["password"] = textbox_password.Text.ToString();
        message.Text = "Session saved!";
        textbox_username.Text = null;
        textbox_password.Text = null;
        Response.Redirect("SessionTest.aspx");
    }

「Expire Session」ボタンをクリックしてセッションを期限切れにする方法がわかりません。私は初心者です。

4

4 に答える 4

7

短い質問に対する短い答え:

//Destroys the session
Session.Clear();
Session.Abandon();
Response.Redirect("Default.aspx");

上記のコードの前に使用します。Session.Clear();セッションの値をクリーンアップしたいが、aを使用Session.Abandon();すると破棄されます。

とのセッションを確認する

if(Session["username"] == null) { }
于 2012-09-25T12:03:41.450 に答える
5

このコードで試すことができます

    Session.Clear();
    Session.Abandon();
    //FormsAuthentication.SignOut(); // If you are using FormsAuthentication
    Response.Redirect("Your.aspx");

ここで確認できます

if(Session["username"] == null)
{
...
}
于 2012-09-25T12:04:26.477 に答える
1

「セッションの期限切れ」ボタンをクリックすると、すべてのセッションが期限切れになります。

したがって、ボタンクリックイベントで以下の関数を使用できます。

 protected void btnExpireSession_Click(object sender, EventArgs e)
 {
     Session.Abandon();
 }

これはあなたを助けると思います。

于 2012-09-25T12:10:12.307 に答える
1

Session.Abandon()セッションを破棄します。これはおそらく、ユーザーがログアウトするときに使用できます。 Session.Clear()オブジェクトからすべての値 (コンテンツ) を削除するだけです。

于 2012-09-25T12:12:35.807 に答える