是否可以在ASP.NET Web应用程序中的客户端JavaScript或jQuery函数中访问ViewState变量?如果可以,如何做到?
是否可以在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中给属性赋值,然后使用this获取该值:
<% = 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"
。
ViewState
都保存在由 ASP.NET 自动创建的隐藏字段中,您可以找到该字段并读取数据。您可以在页面的源代码中找到此名称和 ID 的字段:__VIEWSTATE
。 - Moshtafalert('<% = Session("sessionName") %>');
,在C中使用alert('<% = Session["sessionName"] %>');
即可轻松处理会话。 - Moshtaf