javascript - 意外的标记,-asp 值显示为未定义

标签 javascript jquery asp.net vb.net visual-studio-2008

我正在尝试使用数组 json 将一些数据从 vb.net 上传到 asp.net。

我的代码:

 <script type="text/javascript">
   $(function() {

       var a = $("#hidden").val();
       var array = JSON.parse(a);

但是,当我在浏览器上调试它时,“a”和“array”显示为未定义。即使在它背后的代码中显示了值..

经过进一步调查,我发现如果是这样就可以了:

  var a = "[1, 2, 3]";
  var array = JSON.parse(a);

请注意,它显示为字符串,但是当我采用以下字符串时:

  var a = [1, 2, 3];
  var array = JSON.parse(a);

它说它未定义 - 未捕获的语法错误:意外的 token ,我猜测它与 JSON 有关。

现在回到我的代码和我的错误: 隐藏代码 (vb)

    Dim array As New ArrayList

    For Each row In ChartData.Rows
        array.Add(row("Day"))
    Next row

    Dim serializer As New JavaScriptSerializer()
    Dim arrayJson As String = serializer.Serialize(array)

    hidden.Value = arrayJson

以及 asp 中的代码。

     <asp:HiddenField ID="hidden" runat="server" />         
    var a = $("#hidden").val();
       var array = JSON.parse(a);

我的问题是,为什么它显示未定义!我做错了什么。

谢谢

最佳答案

在 asp.net 上,呈现的 id 不是您在代码隐藏中使用的 id,要将其显示在页面上,您需要使用 ClientID 如下:

var a = $("#<%=hidden.ClientID%>").val();

关于javascript - 意外的标记,-asp 值显示为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17317878/

相关文章:

javascript - 选中复选框时如何向上移动一个部分?

javascript - 添加类时的 JQuery OnClick 问题

javascript - Jasmine Create Spy on Native JS Function on Global Window 对象

asp.net - 更改 HTTP post 上的 ASP.NET MVC 2 ActionResult

c# - 值来自 C# 到 Javascript 的形式

javascript - div第一个表做一个颜色?

JavaScript - 函数中的零值

jquery - 将 AngularJS $scope 数据传递给 Jquery 元素(Stripe Checkout)

javascript - 如何确定路径字符串中的当前目录?

c# - Datatable.acceptchanges() 向表提交数据