C#保存对象列表与保存对象(来自JSON)

C#保存对象列表与保存对象(来自JSON),c#,javascript,ajax,asp.net-mvc,post,C#,Javascript,Ajax,Asp.net Mvc,Post,我有以下工作代码: 类(声明的对象) 控制器: [HttpPost] public virtual JsonResult SaveRow(saveRow input) { /* CODE HERE */} JavaScript对象(已发送) JavaScript Ajax调用 $.ajax({ type: "POST", url: "URL", dataType: "json", data: test, tradition

我有以下工作代码:

类(声明的对象)

控制器:

[HttpPost]
public virtual JsonResult SaveRow(saveRow input)
{ /* CODE HERE */}
JavaScript对象(已发送)

JavaScript Ajax调用

 $.ajax({
       type: "POST",
       url: "URL",
       dataType: "json",
       data: test,
       traditional: true,
       success: function (data, status, request) {
           if (data.Error != undefined) {
               alert("System Error: " + data.Error);
               $(row).find('*').attr('disabled', false);
               return;
           }

       },
       error: function (request, status, error) {
           console.log("ERROR");
       }
   });
现在,当我想发送一个行列表而不是一次发送一个行列表时,就会出现问题,因此我执行了以下操作:

为了测试,我拿了同样的物体做了测试

var test2 = []; test2.push(test); test2.push(test);
对象现在看起来像:

[{"proId" : 1, "proName" : "Test"},{"proId" : 1, "proName" : "Test"}]
我的控制器现在看起来像:

  [HttpPost]
    public virtual JsonResult SaveRow(List<saveRow> input)
    { /* CODE HERE */}
并添加了内容类型!使用JSON.stringify

试着这样做:

  • 为列表设置与参数名“input”相同的包装器名称
  • 设置内容类型
  • 删除传统格式并使用JSON.stringify对数据进行字符串化
JS:

var数据={“输入”:test2};
$.ajax({
类型:“POST”,
url:“url”,
数据类型:“json”,

contentType:“application/json;charset=utf-8”//Ahhh我知道你在这里得到了什么,当前添加了它,并且正在构建的项目将更新结果。@LmC是的,让我知道它是如何运行的。。如果它不起作用,只需将你在网络控制台中看到的内容粘贴到请求部分。嗨,仍然是相同的问题,我的对象看起来像{“input”:[{},{}]},请注意{}只是上面显示的保持评论的结构的缩写tidyCache被禁用(使用chorme开发工具)我很想知道为什么,这是个谜!
[{"proId" : 1, "proName" : "Test"},{"proId" : 1, "proName" : "Test"}]
  [HttpPost]
    public virtual JsonResult SaveRow(List<saveRow> input)
    { /* CODE HERE */}
public virtual JsonResult SaveRow(saveRow[] input)
var data = { "input": test2 };

$.ajax({
       type: "POST",
       url: "URL",
       dataType: "json",
       contentType:"application/json; charset=utf-8", //<--Set content Type
       data: JSON.stringify(data), //Set data
       success: function (data, status, request) {
           if (data.Error != undefined) {
               alert("System Error: " + data.Error);
               $(row).find('*').attr('disabled', false);
               return;
           }

       },
       error: function (request, status, error) {
           console.log("ERROR");
       }
   });