1

CompositeDataBoundControlとを継承するサーバー コントロールを開発しましたINamingContainer。2 つの TextBox と 1 つの小さな画像があります。

ただし、ViewState でレンダリングする場合のGridViewサイズは最大 500 バイトです。また、約 20 個のプロパティがありますが、ここでは ViewState を使用しません。

私は使用するだけget;set;で、ポストバック時に再度バインドします。

今、この ViewState のサイズを縮小する方法と、この ViewState を調べる方法を考えています。ViewState の値を調べることができれば、問題を解決するのに役立ちます。

4

2 に答える 2

1

ViewState をbase-64 デコーダーに貼り付けます。何がスペースを占めているかを見るのはいつも啓発的だと思います.

ViewState フィールドにはControlStateも含まれることに注意してください。

2 つの TextBox と 1 つの小さな画像があります。

一部のコントロールは、HTTP 要求に常に存在するため、ViewState がなくても十分に機能します。ATextBoxは、その値が常に要求の一部としてサーバーに返されるため、ViewState を明示的に無効にするのに適しています。

URL の計算に処理時間が必要でない限り (データベース呼び出しと静的割り当てなど)、画像も ViewState を無効にするのに適しています。

しかし、GridView でレンダリングすると...

AGridViewはほぼ確実に ViewState 自体に追加されます。あなたはそれを考慮していますか?

于 2013-03-30T01:31:26.240 に答える
0

ビューステートを無効にすることができます

this.EnableViewState = false;

ページからビューステートを無効にするには、このリンクをチェックして、ページのビューステートを無効にすることもできます。

ビューステートを確認したい場合は、ASP.NET ViewState Helperまたは Fiddler などのツールを使用してビューステートを分析できます。

于 2013-03-30T00:55:24.247 に答える