web-dev-qa-db-ja.com

クライアント側のJavascriptまたはJQueryでViewState変数にアクセスする方法

これは、asp.net Webアプリケーションのクライアント側のjavascriptまたはjquery関数でViewState変数にアクセスすることは可能ですか?はいの場合、どのように?

9
user3853187

最初の解決策:

プロパティを使用して、コードビハインドからクライアント側に任意の変数を渡すことができます。コードビハインドでPublicプロパティを定義します。

C#:

public int prtPropertyName {
    get { return ViewState("PropertyName"); }
    set { ViewState("PropertyName") = value; }
}


VB:

Public Property prtPropertyName As Integer
    Get
        Return ViewState("PropertyName")
    End Get
    Set(value As Integer)
        ViewState("PropertyName") = value
    End Set
End Property

プロパティに値を割り当ててから、これを使用してjavascriptで値を取得します。

<% = prtPropertyName  %>


2番目の解決策:

ViewStateの値を非表示フィールドに配置し、クライアント側で非表示フィールドの値を読み取ります。

ViewState("viewStateName") = "This is ViewState value"
Page.ClientScript.RegisterHiddenField("hfHiddenFieldID", ViewState("viewStateName"))

Javascript:

var strValue = document.getElementById("hfHiddenFieldID");


番目の解決策:

これはそれほど明確ではありませんが、すべてのViewStatesはASP.NETによって自動的に作成された非表示のフィールドに保存され、フィールドを見つけてデータを読み取ることができます。このフィールドは、次の名前とIDのページのソースコードにあります。name="__VIEWSTATE" id="__VIEWSTATE"

8
Moshtaf