我是初学者,我需要在视图中从控制器MVC到Javascript获取对象“Event”(OrderId,Date)的列表,它就像一个字符串列表,它显示我“未定义”。 在控制器的一侧,我看到它是正确的! 我搜索过,我没有发现我的错误,我尝试使用#而且没有使用foreach,但我认为这不是真的,所以谢谢你帮我!
控制器:
[System.Web.Mvc.HttpGet]
public JsonResult getListEvent() {
IList<Event> ListEvent = new List<Event>();
ListEvent = DeserializeElement();
return Json(new { ListEvent = ListEvent }, JsonRequestBehavior.AllowGet);
}
private List<Event> DeserializeElement () {
List<Event> lt = new List<Event>();
document.Load("eventXml.xml");
foreach (XmlNode item in document.DocumentElement.ChildNodes) {
Event e = new Event();
e.OrderId = int.Parse(item.Attributes[0].Value);
e.Date = Convert.ToDateTime(item.Attributes[1].Value);
lt.Add(e);
}
return lt;
}
和视图:
function GetListEvent() {
debugger;
$.ajax({
type: "GET",
url: "Home/getListEvent",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (data) {
debugger;
alert( data[0].OrderId);
alert('#'+ data[1].Date);
for (var item in data ) {
alert('#' + data[item]);
}
},
error: function (response) {
debugger;
alert('eror');
}
});
}
答案 0 :(得分:0)
非常感谢,但在搜索后我发现它是另一个对象,
所以,我必须写:
alert(data.ListEvent[0].OrderId);
而不是
alert(data[0].OrderId);
我不需要“#”;