我在ASP.NET中有一个使用表单身份验证的应用程序。它有以下代码。
if (User.Identity.IsAuthenticated)
ViewStateUserKey = User.Identity.Name;
单步执行我看到此代码在每个页面加载时执行。当登录用户请求页面时,ViewStateUserKey将填入其用户名。如果让页面停留直到表单auth超时,则用户不再登录,并且在验证viewstate时回发失败,因为该名称现在为null。但是我注意到,如果我在屏幕上放置其他按钮,并且回发后,即使在身份验证超时后也不会失败。每次超时都会出现此错误吗?
答案 0 :(得分:0)
如果在page_init viewstate在page_init之后加载,那么你的答案很容易。这里有Pagelifecycle的描述,描述了加载视图状态发生在页面init事件之后。所以视图变量在page_init
中不可用