7

ページ レベルで EnableViewState="false" を設定したにもかかわらず、__VIEWSTATE フィールドがレンダリングされることがわかりました。フォーム要素の runat="server" タグを削除すると、このフィールドはレンダリングされません。誰かがこれを説明してもらえますか?

4

2 に答える 2

17

__VIEWSTATE フィールドは、コントロールの状態を格納するためにも使用されますが、これはオプションではありません。さらに、私が間違っていなければ、ビュー ステートに含まれる情報を使用してポストバックを検証します (検証はデフォルトで有効になっています)。したがって、runat="server" を含むフォームがある限り、ビューステート フィールドがあります。ただし、すべてのビューステートを無効にすると、フィールド サイズが大幅に小さくなることに気付くはずです。

于 2008-11-12T05:51:45.877 に答える
0

ヒント: Asp.net で __VIEWSTATE を完全に削除する必要がある場合は、Page.Render メソッドをオーバーライドし、ページを文字列にレンダリングして、そこから __VIEWSTATE テキストを削除します。

于 2009-07-07T01:23:50.177 に答える