ASP .NETでViewStateを無効にすることは可能ですか?
-
28-10-2019 - |
質問
私は自分のウェブサイトでサードパーティのサーバー側のコントロールを使用しています(ASP .NET用のTelerik RadControls)。メニューコントロールには、荷重時間に影響するビューステートのサイズを膨張している複雑な構造があります。 Webサーバーが制御値を追跡するために使用することを除いて、ViewStateの詳細を知りません。
私のウェブサイトのほとんどのページは表示のみであるため、ユーザー入力が取得されない場所でViewStateを無効にすることは可能ですか?いずれにせよ、すべての動的アイテムはページの読み込みで再生されています。
解決
ASP.NET 4を使用している場合は、 ViewStateMode
コントロールのビューステート生成を制御するプロパティ。 ViewStateMode
ASP.NET 4を使用していない場合は、ページまたはコントロールレベルでViewStateを回すことができます。
<%@ Page Language="C#" EnableViewState="false"%> //disabling viewstate.
http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableviewstate.aspx
他のヒント
ASPXページの上部に、パラメーターEnableViewState = "False"を必要としないページに追加します。ただし、ViewStateは完全に無効になりませんが、サイズを真剣に縮小します
私はこれをテストしていませんが、それは可能だと思います。
web.configファイルで、代わりにページタグに属性を追加し、それらのページで有効にする必要があります。
System.Web.UI.WebControls.CheckBox checkBox = new System.Web.UI.WebControls.CheckBox();
checkBox.EnableViewState = false;
ViewStateを無効にするさまざまな方法があります。あなたの場合、私はコントロールのViewStateを無効にすることをお勧めします。
<telerik:RadMenu ViewStateMode="Disabled"