c#-获取通过JSON从Controller作为Hashtable接收的javascript中的对象属性值
作者:互联网
我在这里阅读了一些主题,如何从对象获取属性值.
就我而言,我在Controller中有一些东西:
[HttpPost]
public ActionResult GetSomething() {
return Json( new {
data = AModel.Get()
}, JsonRequestBehavior.AllowGet );
}
在模型中:
public static List<Hashtable> Get() {
List<Hashtable> list = new List<Hashtable>( 0 );
Hashtable table = new Hashtable();
table.Add( "ITEM_1", "Value1" );
table.Add( "ITEM_2", "Value 32" );
list.Add( table );
table = new Hashtable();
table.Add( "ITEM_1", "Value22" );
table.Add( "ITEM_2", "Other" );
list.Add( table );
return list;
}
而在Javascript中:
var test;
$.ajax({
type: "post",
url: "Action/Controller",
data: {},
dataType: "json",
async: false,
success: function (data) {
test = data.data;
},
complete: function () {
console.log(test);
});
我进入控制台,如下图所示:
我想获取属性ITEM_1的值并将结果显示给我:Value1,Value22.
我尝试过
for(var key in test) {
console.log(test[key].ITEM_1);
//console.log(test[key].ITEM1);
}
但它不起作用.
当然,我将ITEM_1键重命名为ITEM1(在模型中),但结果相同:未定义,但在控制台中,我看到了所有对象的值.
请帮帮我.
解决方法:
测试是一个数组,而不是一个对象.遍历数组,如:
var testLength = test.length; //caching length, performance benefit
i, item1;
for(i=0;i<testLength;i++){
item1 = test[i].Properties.ITEM1;
}
标签:javascript,c,jquery,asp-net-mvc-3 来源: https://codeday.me/bug/20191201/2080243.html