我想在JS获取后台定义的多维数组,有谁知道呢?麻烦告诉我下!数组大概是这样的:
public string[,] siblings = { { "name: 'Color'", "index: 'Color'" }, { "name: 'Size", "index: 'Size'" }, { "name: 'Qty", "index: 'Qty'" } };
在要在JS中这样直接获取没有办法!
var Name = new Array(); Name = '<%=siblings%>';
可以通过Json.NET将数组序列化为Json格式,代码如下:
<script type="text/javascript"> var siblings = <%= Newtonsoft.Json.JsonConvert.SerializeObject(siblings) %>; </script>
直接这样好像是不行的,最好在后台转换成JSON格式的字符串然后再赋值给JS
转换成json格式数据吧!
这样肯定是不行的 js是识别不了Syetm.String[,] 可以转化成字符串。
用json数据格式
1. 如果你想要保持你的這種格式,就把正段數組,已字符串的形式才可以從前台aspx頁面已 <%變量%> 來接受,但是這樣在前台JS不好處理。
2.按照前面的人提的JSON格式來處理,但是還是要已字符串才能傳遞,在JS轉換JSON很容易。
需要用到jquery js
已你的數據做示例:
C#: public string siblings = "[{'name':'color','index':'color'},{'name':'color','index':'color'}]"; //注意是字符串形態
aspx: var siblings= "<%=siblings%>";
JS:function aa()
{
var jdata = $.parseJSON(siblings);
//取值方式2種:
//1.指定索引
alert(jdata[0].name);
//2.jquery each
$.each(jdata, function(index, item)
{
alert(item["name"]);
alert(jdata[index].name);
});
}