我在ASP.net中写了一些代码: 代码背后:
public string Locations { get; set; }
public List<string> Categories { get; set; }
public List<string> Hrefs { get; set; }
public string CategoriesJ { get; set; }
public string HrefsJ { get; set; }
...
this.CategoriesJ = new JavaScriptSerializer().Serialize(Categories);
this.HrefsJ = new JavaScriptSerializer().Serialize(Categories);
标记中的JS:
<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript">
var Categories = jQuery.parseJSON(this.CategoriesJ);
var Hrefs = jQuery.parseJSON(this.HrefsJ);
function onInit(){
alert(Categories[0]);
};
</script>
可以使用索引就是这样的Json var吗? 这是正确的写作方式吗?
那我为什么不看警报呢? var等于的代码:[“restaurant”,“restaurant”] 我收到错误:Uncaught TypeError:无法读取null
的属性'0'答案 0 :(得分:2)
是的,这是正确的。要遍历所有值,请使用:
for(var x=0;x<Categories.length;x++) {
alert(Categories[x]);
}
答案 1 :(得分:0)
您不能像这样在ASPX中引用服务器端变量。在ASP.NET中,您需要:
<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript">
var Categories = <%= CategoriesJ %>;
var Hrefs = <%= HrefsJ %>;
function onInit(){
alert(Categories[0]);
};
</script>