ASP.net главная страница / содержание страницы простой дизайн проблемы - PullRequest
1 голос
/ 20 марта 2011

Моя главная страница:

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());

    }

Это выводит 'True', мы вошли в систему.

На моей странице содержимого я делаю:

protected void Page_Load(object sender, EventArgs e)
{

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

Ноэто выводит «Ложь».

Таким образом, фактический вывод страницы:

Content:False
Master:True

На моей странице контента мне нужно перенаправить, если пользователь вошел в систему, но это значение всегда ложно с точки зрения страниц контента!Как я могу решить эту проблему?

Ответы [ 3 ]

3 голосов
/ 20 марта 2011

Событие загрузки страницы содержимого происходит до главной загрузки (с здесь ).Поэтому вам, вероятно, нужно изменить логику и, возможно, вызвать методы некоторой страницы содержимого из master Page_Load.Или установите IsLoggedIn в обработчике событий Master Init.

2 голосов
/ 20 марта 2011

Измените Мастер Page_Load на Page_Init, это заставит его выполнить перед страницей контента.

1 голос
/ 20 марта 2011

Главная страница вызывается после вашего кода для Page_Load (). Попробуйте это:

Protected void Page_Load(object sender, EventArgs e)
{
    base.Page_Load(sender,e); 
    Response.Write("CONTENT:" + Master.IsLoggedIn.ToString());
}
...