查看未通过javascript访问的状态变量

时间:2012-05-11 13:28:22

标签: asp.net viewstate

我不明白为什么我无法在java脚本中使用我的视图状态变量。有人可以解释一下吗?

3 个答案:

答案 0 :(得分:4)

viewstate不是为javascript使用而设计的。视图状态用于记住您在后面的代码上设置的值,并在回发后再次使用。

如果您希望获得任何控制值,您可以使用简单的javascript进行控制,没有理由使用viewstate。

答案 1 :(得分:1)

您无法直接访问视图状态,只需访问包含视图状态的隐藏表单元素即可。我建议使用RegisterHiddenField而不是混合server / js代码:

您可以尝试以下示例:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ViewState("code") = "EE"
    Page.ClientScript.RegisterHiddenField("vCode", ViewState("code"))
End Sub

关于你的javascript:

  

var vCode = document.getElementById(“vCode”);
  警报(VCODE);

答案 2 :(得分:1)

视图状态已加密。你不应该读它。

如果要访问控件的参数,请通过属性公开它。

public string Label1Text
{
    get
    {
        return Label1.Text;
    }
}

<script>
    var lblText = "<%= this.Label1Text %>";
</script>