Search code examples
c#asp.netmaster-pagespubliccontent-pages

ASP.net master page/content page simple design problem


My master page:

public partial class MasterPages_Main : System.Web.UI.MasterPage
{
    public bool IsLoggedIn;

    protected void Page_Load(object sender, EventArgs e)
    {

        // Check login
        LoggedInUser ThisUser = new LoggedInUser();
        IsLoggedIn = ThisUser.IsLoggedIn;

        Response.Write("Master" + IsLoggedIn.ToString());

    }

This outputs 'True', we are logged in.

On my content page I do:

protected void Page_Load(object sender, EventArgs e)
{

    Response.Write("CONTENT:" + Master.IsLoggedIn.ToString());
}

But this outputs 'False'.

So the actual page output is:

Content:False
Master:True

On my content page I need to redirect if the user is logged in, but this value is always false from the content pages point of view! How can I resolve this?


Solution

  • Content Page load event occurs before Master Load (from here). So you probably need to change the logic, and maybe call some content page's methods from master Page_Load. Or set IsLoggedIn inside Master Init event handler.