在导航到该类之前设置来自不同类的bool值

时间:2013-01-18 05:01:02

标签: c#-4.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");
            }
        }

1 个答案:

答案 0 :(得分:0)

类不会在页面之间保留。你需要的是以下两个

  1. 将登录状态存储在Cookie中。这就是大多数网站的做法。这就是例如在电子邮件客户端上,您可以导航到各个页面,但仍然保持登录状态。
  2. 将登录状态存储为会话变量。您的登录变量(true / false)驻留在会话中。