C# 如何在ASP.NET MVC中使用AJAX获取对象列表
我正在尝试使用AJAX生成一个列表,并将其发布到controller。这是到目前为止我的代码C# 如何在ASP.NET MVC中使用AJAX获取对象列表,c#,asp.net-mvc,json,jquery,C#,Asp.net Mvc,Json,Jquery,我正在尝试使用AJAX生成一个列表,并将其发布到controller。这是到目前为止我的代码 var objects = new Array(); here is a loop { var object = { a: 1, b: 2, c: 3 }; objects[i] = object; i++; } $.ajax({ type: "POST", url: "/Co
var objects = new Array();
here is a loop {
var object = {
a: 1,
b: 2,
c: 3
};
objects[i] = object;
i++;
}
$.ajax({
type: "POST",
url: "/Controller/Poster",
cache: false,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(objects),
success: function (result) {
alert("posted");
}
});
我走对路了吗
在后端,我创建了一个模型类
public class ObjectModel
{
public int a {get; set;}
public int b {get; set;}
public int c {get; set;}
}
现在我正在尝试将此对象列表添加到我的控制器。经过研究,我尝试创建一个以对象列表为参数的控制器方法
[HttpPost]
public JsonResult Poster(List<ObJectModel> olist)
{
}
[HttpPost]
公共JsonResult海报(列表列表)
{
}
但我无法在控制器中定义列表。从现在起我该怎么办?我应该对我的代码进行任何更改吗
谢谢 试试这个
data: objects
而不是
data: JSON.stringify(objects)
向海报添加属性
[HttpPost]
public JsonResult Poster(List<ObJectModel> olist)
试一试
代替
data: JSON.stringify(objects),
我将System.Collections名称空间添加到我的控制器。现在我可以定义列表了。在我将[HttpPost]属性添加到我的方法并公开我的类属性之后,现在没有任何问题。我的主要问题是System.Collections命名空间。我成功地将对象列表传递给控制器 您是否尝试在没有JSON的情况下发布。stringify just objects?并将属性[HttpPost]添加到Posterdefault model binder无法处理列表中,您可以为您的类型创建一个模型绑定器有什么区别,为什么要从我的答案中复制两次相同的字符串?很抱歉,简单的复制粘贴错误请参见更新的答案。我已经添加了HttpPost attr。按照我的方法。因此,我仍然无法将列表定义为参数。我想我的主要问题是这个。我可以定义IList、Arraylist等,但无法列出。您是否将属性更改为public?您是否从海报中返回了一些内容?首先感谢您的努力。我已经解决了我的问题。请阅读我自己的答案。以后在问题中添加编译错误。没有所有的信息很难找到问题。我不能把你们的答案标记为解决方案,因为这个问题不是我的,但我会投票,因为你们找到了解决问题的方法,但并没有添加更多有用的信息。是的,你们是rihgt。我将在以后的问题中提供更多信息。感谢您对resharper的建议。我试试看。
data: $.param(objects),
data: JSON.stringify(objects),