【问题标题】:Json Result DataTable JQuery from MVC to .NET CORE 2.2Json Result DataTable JQuery 从 MVC 到 .NET CORE 2.2
【发布时间】:2019-09-28 11:15:43
【问题描述】:

我正在将一个填充 JQuery DataTables 的函数从 MVC 转换为 .NET CORE 2.2。 在 MVC 中它可以工作并且填充了网格,在 .NET CORE 中我看到 mvc JSONRESULT 命名空间不同,这可能是问题所在吗?编译没问题,数据在那里,但数据表告诉我好像没有找到 ID 字段。

为了让它在 .NET CORE 上编译,我必须在实例化 JsonResult 时插入一个 NULL 作为参数,并在最后删除 JsonRequestBehavior.AllowGet。

// MVC
public ActionResult GetData(searchNews searchAdv)
{
    // Initialization.   
    JsonResult result = new JsonResult();
    try
    {
        // Initialization.
        string search = Request.Form.GetValues("search[value]")[0];
        string draw = Request.Form.GetValues("draw")[0];
        string order = Request.Form.GetValues("order[0][column]")[0];
        string orderDir = Request.Form.GetValues("order[0][dir]")[0];
        int startRec = Convert.ToInt32(Request.Form.GetValues("start")[0]);
        int pageSize = Convert.ToInt32(Request.Form.GetValues("length")[0]);

        // Loading.   
        List<Models.News> data = c.dsListaNews();

        // Loading drop down lists.   
        result = this.Json(new
        {
            draw = Convert.ToInt32(draw),
            recordsTotal = totalRecords,
            recordsFiltered = recFilter,
            data = data
        }, JsonRequestBehavior.AllowGet);
    }
}
//ASP.NET CORE 2.2
public ActionResult GetData(searchNews searchAdv)
{
    // Initialization.   
    JsonResult result = new JsonResult(null);

    string search = Request.Form["search[value]"][0];
    string draw = Request.Form["draw"][0];
    string order = Request.Form["order[0][column]"][0];
    string orderDir = Request.Form["order[0][dir]"][0];
    int startRec = Convert.ToInt32(Request.Form["start"][0]);
    int pageSize = Convert.ToInt32(Request.Form["length"][0]);            

    // Loading.
    List<Models.News> data = c.dsListaNews(conn);

    // Loading drop down lists.   
    result = this.Json(new
    {
        draw = Convert.ToInt32(draw),
        recordsTotal = totalRecords,
        recordsFiltered = recFilter,
        data = data
    });

    // Return info.   
    return result;
}

【问题讨论】:

  • 与我们分享来自 mvc 和 mvc core 的 json 响应。是否有任何迷你演示可以重现您的问题?
  • 在 JSON MVC Core 中,json 数据的字段名是小写的。现在好了!!!感谢Yoy @Tao Zhou

标签: c# jquery asp.net-mvc datatables asp.net-core-mvc


【解决方案1】:

我会试试的

return Json(new
            {
                draw = Convert.ToInt32(draw),
                recordsTotal = totalRecords,
                recordsFiltered = recFilter,
                data = data
            });

不声明 JsonResult 变量并在 .Net-Core IActionResult 中使用而不是 ActionResult。

【讨论】:

  • 没什么,同样的错误。 DataTables 警告:请求第 0 行第 0 列的未知参数“ID”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 2020-08-22
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 2011-01-19
相关资源
最近更新 更多