【问题标题】:Jquery Datatabase Json errorJquery数据库Json错误
【发布时间】:2017-06-19 08:27:15
【问题描述】:

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

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

 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 };
    }

` 模型类

  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

        });

【问题讨论】:

    标签: jquery json asp.net-mvc


    【解决方案1】:

    好的解决了。我关掉了

     db.Configuration.ProxyCreationEnabled = false;
    

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

    关闭此功能后。我只是放入原始实体,并没有对对象进行任何序列化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多