Jquery数据库Json错误

时间:2017-06-19 08:27:16

标签: jquery json asp.net-mvc

我正在调用一个方法,该方法返回一个具有相当一个字段子实体的实体。我不需要子实体,但因为它们处于关系中,因此我无法理解它。

当我检查json数据时,我正确得到响应。但是当我在datatable上设置断点时。

 mRender: function (data, type, row) {

该行循环遍历json数据CHAR BY CHAR

`

    $('#serviceTB').DataTable({
        "processing": true,
        "serverSide": true,
        destroy: true,
        searching: true,
        "info": true,
        "pageLength": 10,
        "lengthMenu": [[10, 20, 50, -1], [10, 20, 50, "All"]],
        "sDom": "<'top'f>rt<'fluid-row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>><'fluid-row'<'col-md-12 col-sm-12'<'pull-right'l>>>",
        "columns": [
          { "data": "article_number", "orderable": true, "searchable": true },
                { "data": "serial_number", "orderable": true, "searchable": true },
           { "data": "description", "orderable": false, "searchable": false },
            { "data": "Purchase_date", "orderable": true, "searchable": false },
            { "data": "rental_agreement", "orderable": false, "searchable": true },
            { "data": "service_agreement", "orderable": false, "searchable": true },
              { "data": "Warranty", "orderable": true, "searchable": true },
             /* EDIT */ {
                 mRender: function (data, type, row) {
                     debugger



                 }
             },
        ], "ajax": {
            "url": "@Url.Action("GetMachineOwnerByType", "WMFMachine")",

            "type": "GET"
        }
    });
}`

下面是我的json结果,其中包含jquery

所需的所有字段
public JsonResult GetMachineOwnerByType(int draw, int start, int length, string searchstring = "", string orderstring = "", int ordercol = 0)  
    {

        string search = Request.QueryString["search[value]"];
        string order = Request.QueryString["order[0][dir]"];
        int sortColumn = int.Parse(Request.QueryString["order[0][column]"]);
        searchstring = search;
        orderstring = order;
        ordercol = sortColumn;
        var result = service.GetListWMFMachineByType(draw, start, length, searchstring, orderstring, ordercol, "M");//mylogic to get the Model 

        return new JsonResult { Data = result, MaxJsonLength = Int32.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }

` 模型CLass

  public class JsonTableModel
{

    public int draw { get; set; }
    public int recordsTotal { get; set; }
    public int recordsFiltered { get; set; }
    public object data { get; set; }

}

逻辑

 dt.data = JsonConvert.SerializeObject(mymodel, Formatting.None,
        new JsonSerializerSettings()
        {
            ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore,
            PreserveReferencesHandling = PreserveReferencesHandling.None

        });

1 个答案:

答案 0 :(得分:0)

好的解决了。我关掉了

 db.Configuration.ProxyCreationEnabled = false;

我不知道这是正确的方法。但它解决了这个问题。我从6小时前就开始研究这个问题。

关掉它之后

我只是扔进原始实体,并没有对该对象进行任何序列化。