【发布时间】:2011-03-29 17:35:33
【问题描述】:
我在 ASP.NET 中有一个使用表单身份验证的应用程序。它有以下代码。
if (User.Identity.IsAuthenticated)
ViewStateUserKey = User.Identity.Name;
单步执行我看到此代码在每次页面加载时执行。当登录用户请求该页面时,ViewStateUserKey 将填写他们的用户名。如果您让页面等待表单身份验证超时,则用户不再登录,并且由于名称现在为空,因此在验证视图状态时回发失败。但是我注意到,如果我在屏幕上放置其他按钮并返回,它不会失败,即使在身份验证超时后也是如此。每次超时都应该出现这个错误吗?
【问题讨论】:
-
澄清一下:Page_Init 中有这段代码吗?
-
是的,代码在页面初始化中,如果表单身份验证没有超时,则可以正常工作。
标签: asp.net viewstate page-lifecycle failed-to-load-viewstate