Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET MVC中使用AJAX获取对象列表_C#_Asp.net Mvc_Json_Jquery - Fatal编程技术网

C# 如何在ASP.NET MVC中使用AJAX获取对象列表

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

我正在尝试使用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: "/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),