0

我不明白为什么我不能在 java 脚本中使用我的视图状态变量。谁能解释一下?

4

3 回答 3

4

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

如果您希望获得任何控制值,您可以使用简单的 javascript 来实现,没有理由使用视图状态。

于 2012-05-11T13:34:50.357 回答
1

您不能直接访问视图状态,而只能访问包含视图状态的隐藏表单元素。我建议使用 RegisterHiddenField 而不是混合服务器/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);

于 2012-05-11T13:36:23.843 回答
1

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

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

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

<script>
    var lblText = "<%= this.Label1Text %>";
</script>
于 2012-05-11T13:50:44.257 回答