ViewStateUserKey有时无法验证

时间:2011-03-29 17:35:33

标签: asp.net viewstate page-lifecycle failed-to-load-viewstate

我在ASP.NET中有一个使用表单身份验证的应用程序。它有以下代码。

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

单步执行我看到此代码在每个页面加载时执行。当登录用户请求页面时,ViewStateUserKey将填入其用户名。如果让页面停留直到表单auth超时,则用户不再登录,并且在验证viewstate时回发失败,因为该名称现在为null。但是我注意到,如果我在屏幕上放置其他按钮,并且回发后,即使在身份验证超时后也不会失败。每次超时都会出现此错误吗?

1 个答案:

答案 0 :(得分:0)

如果在page_init viewstate在page_init之后加载,那么你的答案很容易。这里有Pagelifecycle的描述,描述了加载视图状态发生在页面init事件之后。所以视图变量在page_init

中不可用