如何在客户端Javascript或JQuery中访问ViewState变量

时间:2014-08-05 19:38:01

标签: javascript jquery asp.net viewstate

这可以在asp.net Web应用程序中访问客户端javascript或jquery函数中的ViewState变量吗?如果是,那么如何?

1 个答案:

答案 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"