0

asp:LoginStatus在我的母版页和我的login.aspx.cs文件中有登录按钮,它具有选定的事件处理程序。

  protected void btLogIn_Click(object sender, EventArgs e)
    {
        int chk = _dbobj.CheckingIfUserExists(tbUserName_login.Text, tbPassword_login.Text);
        if (chk != 0)
        {
            Response.Cookies["UserName"].Value = tbUserName_login.Text.Trim();
            lbUserNameValidation_logIn.Text = "";
            Response.Redirect("Home.aspx", false);

            if (chbRemember_login.Checked)
            {
                Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(1);
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(tbUserName_login.Text, true);
            }
            else
            {
                Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(-1);
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(tbUserName_login.Text, false);
            }

        }
        else
           ............

当我登录而不选中记住复选框时,它无论如何都会记住,并且在关闭和打开页面后不会设置注销。请帮我解决这个问题..

4

2 回答 2

1

使用Page.Session.Timeout属性设置会话超时。

.net 的默认超时为 20 分钟。

请参阅此链接以获取 .NET 中的 HttpSessionState.Timeout 属性

http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout.aspx

希望它有帮助。

于 2013-03-22T07:10:26.347 回答
0

将 Expires 属性设置为 MinValue 使其成为会话 Cookie

cookie.Expires = DateTime.MinValue

过期会话意味着只要带有页面的浏览器窗口打开,cookie 就会存在。

于 2013-03-22T07:26:42.410 回答