0

セッションタイムアウト時にリダイレクトしようとしているアプリケーションがあるため、マスターページでリダイレクト用のセッション変数が null かどうかを確認していますが、問題は、マスターページからの他のページ (派生) と派生の 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");

この問題を解決するための解決策を例で提案してください。

4

1 に答える 1

0

1つのオプションは、マスターページのPage_LoadイベントのコードをPage_Initイベントに移動することです。

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

ASP.NETページのライフサイクルの概要を参照してください

于 2010-08-03T07:07:18.110 に答える