我正在尝试使用数组 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/