これは、asp.net Webアプリケーションのクライアント側のjavascriptまたはjquery関数でViewState変数にアクセスすることは可能ですか?はいの場合、どのように?
最初の解決策:
プロパティを使用して、コードビハインドからクライアント側に任意の変数を渡すことができます。コードビハインドで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"
。