AJAX 将 Slickgrid 数据发布到 MVC

AJAX Posting Slickgrid data to MVC

我有一个 slickgrid,正在尝试将其数据保存回服务器。

当我在服务器上断点时,我可以看到 Request.Form 对象中的数据,但我无法使它与我的对象一起工作。

我的数据看起来像...

[
{"id":"0","LineNumber":"","Detail":"MOT cost","Code":" ","Qty":"1","Est":"  ","CustomerDamage":false,"Cost":"44.00","Value":"44.00","VAT":true,"SelfBillingLine":"False","DefectStatus":"    "},
{"id":"62","LineNumber":"","Detail":"CRACKS IN Chassis","Code":"TLMA02","Qty":"1","Est":"","CustomerDamage":false,"Cost":"35.00","Value":"35.00","VAT":true,"SelfBillingLine":"False","DefectStatus":"Large repair"},
{"id":"63","LineNumber":"","Detail":"TEAR IN N/S CURTAIN","Code":"TLMA02","Qty":"1","Est":"","CustomerDamage":true,"Cost":"10.00","Value":"10.00","VAT":true,"SelfBillingLine":"False","DefectStatus":"Customer"}
]

我在点击按钮后发帖...

 $("#SBSave").click(function() {
          debugger;
          var details = JSON.stringify(defectrows);
          save('SBDetail/SaveSBItem', details);
      });

我尝试了很多方法来接收数据,none 成功了。

我的控制器...

    [HttpPost]
    public void SaveSBItem(SelfBillDetailList details, string Approve = "")
    {
         // Actions here.
    }

我的模型... 尝试了很多东西,都没有用...

public class SelfBillDetailList
{
    public IEnumerable<SelfBillingIncomingDetail> IncomingDetails { get; set; }
}


public class SelfBillingIncomingDetail
{
    public int id { get; set; }
    public string Code { get; set; }
    public string LineNumber { get; set; }
    public string Detail { get; set; }
    public string Action { get; set; }
    public string Qty { get; set; }
    public string Est { get; set; }
    public bool VAT { get; set; }
    public bool CustomerDamage { get; set; }
    public string Cost { get; set; }
    public string Value { get; set; }
    public DateTime Received { get; set; }
    public string DefectStatus { get; set; }
    public bool SelfBillingLine { get; set; }
}

所以,我尝试了一个单独的 SelfBillingIncomingDetail 和一个 SelfBillDetailList。

两者都不起作用。

我什至发送了一个单独的行,还是不行。

我想将它作为一个组发送,所以它将是一个 SelfBillingIncomingDetail 数组,但没有任何效果。

感谢您的帮助。

我又做了一遍...找了好久终于找到答案了

Darin Dimitrov 在中的回答 Post an Array of Objects via JSON to ASP.Net MVC3 让我来回答。

看来发送数据的时候需要给数据数组取一个和SelfBillDetailList中的属性同名的数据,所以...

var details = JSON.stringify({IncomingDetails : defectrows});

修复它。