0

我试图在用户通过身份验证后将值设置为 true,以便他们可以在身份验证后使用该页面。当我将值设置为 true 并将它们重定向到同一页面时,该值再次为 false。我确定它与类的不同实例有关,但我不知道如何修复它。

这是设置值的类:

if (IsUserAuthorized())
    {
        Admin admin = new Admin
                          {
                              IsAuthorized = true
                          };
        Response.Redirect("~/Admin.aspx");
    }
    else
    {
        LblErrorMessage.Text = "Please check your \"User Name\" or \"Password\" and try again.";
    }

这是需要知道值的类:

public partial class Admin : System.Web.UI.Page
    {
        public bool IsAuthorized { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsAuthorized)
            {//Do something}            }
            else
            {
                Response.Redirect("~/UserAuthentication.aspx");
            }
        }
4

1 回答 1

0

类不会在页面之间持续存在。您需要的是以下两个之一

  1. 将登录状态存储在 cookie 中。这就是大多数网站的做法。这就是例如在电子邮件客户端上您可以导航到各个页面但仍保持登录状态的方式。
  2. 将登录状态存储为会话变量。您的登录变量(真/假)驻留在会话中。
于 2013-01-18T05:06:50.567 回答