这可以在asp.net Web应用程序中访问客户端javascript或jquery函数中的ViewState变量吗?如果是,那么如何?
答案 0 :(得分:8)
第一个解决方案:
您可以使用属性将任何变量从代码隐藏传递到客户端。
在代码隐藏中定义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 %>
第二个解决方案:
将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"
。