2

我有一個使用表單身份驗證的ASP.NET應用程序。它有以下代碼。ViewStateUserKey有時不驗證

if (User.Identity.IsAuthenticated) 
     ViewStateUserKey = User.Identity.Name; 

步進通過我看到這個代碼在每個頁面加載執行。當登錄用戶請求該頁面時,ViewStateUserKey將填入其用戶名。如果讓頁面坐着直到表單驗證超時,則用戶不再登錄,並且在驗證視圖狀態後回發失敗,因爲名稱現在爲空。但是我注意到,如果我在屏幕上放置了其他按鈕,並且回發,即使在身份驗證超時之後,它也不會失敗。每次出現這個錯誤應該如何?

+1

澄清:這段代碼是否在Page_Init? – StriplingWarrior 2011-03-29 17:38:39

+0

是的,代碼在頁面初始化中,並且如果表單auth沒有超時,則可以正常工作。 – 2011-03-29 18:03:26

回答

0

如果這是在page_init中,在page_init之後加載viewstate加載,那麼您的答案很簡單。這裏描述了Pagelifecycle,它描述了負載視圖狀態發生在page init事件之後。所以視圖變量在page_init中不可用

相關問題