Предыдущая Следующая Приложение ASP.NET и перенаправление времени ожидания сеанса - PullRequest
0 голосов
/ 03 августа 2010

У меня есть приложение, в котором я пытаюсь перенаправить по истечении времени сеанса, поэтому на своей главной странице я проверяю, является ли переменная сеанса нулевой для перенаправления, но проблема в том, что у меня есть другие страницы (производные) от главной страницы и Page_Load производных страниц Я также ссылаюсь на некоторые переменные сеанса, и я заметил, что событие PAGE_LOAD производных страниц (содержимого) запускается первым, а главная страница PAGE_LOAD запускается позже, поэтому выдается ошибка «Ссылка на объект не установлена».

Кстати, я пишу следующий код на LOGIN_BUTTON_PRESSED EVENT.

FormsAuthenticationTicket ticket - new FormsAuthenticationTicket(1, userName, DateTime.Now, DataTime.Now.AddMinutes(20), true, myRoles, FormsAuthentication.FormsCookiePath);

Session["uid"] = userName.Text;  
Session["ufullname"] = ufname;  

string hashCookies = FormsAuthentication.Encrypt(ticket);  

HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashCookies);    

Response.Cookies.Add(cookie);  

Response.Redirect("~/Main.aspx");

Пожалуйста, предложите решение для преодоления этой проблемы на примере.

1 Ответ

0 голосов
/ 03 августа 2010

Один из вариантов - переместить код на событии Page_Load вашей главной страницы в событие Page_Init:

protected void Page_Init( object sender, EventArgs e )
{
    //Your code goes here
}

См. Обзор жизненного цикла страницы ASP.NET

...