2

フォーム認証を使用する ASP.NET のアプリケーションがあります。次のコードがあります。

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

ステップスルーすると、ページが読み込まれるたびにこのコードが実行されることがわかります。ログインしたユーザーがページをリクエストすると、ViewStateUserKey にユーザー名が入力されます。フォーム認証がタイムアウトするまでページをそのままにしておくと、ユーザーはログインできなくなり、名前が null になるため、viewstate の検証でポストバックが失敗します。ただし、画面に他のボタンを配置してポストバックすると、認証がタイムアウトした後でも失敗しないことに気付きました。タイムアウトするたびにこのエラーが発生しますか?

4

1 に答える 1

0

これがpage_initの後にpage_initビューステートのロードにある場合、答えは簡単です。ここに、ページの初期化イベントの後にロードビューの状態が発生することを説明するPagelifecycleの説明があります。したがって、ビュー変数はpage_initでは使用できません

于 2011-03-31T09:30:13.363 に答える