Json Result DataTable JQuery 从 MVC 到 .NET CORE 2.2
Posted
技术标签:
【中文标题】Json Result DataTable JQuery 从 MVC 到 .NET CORE 2.2【英文标题】:Json Result DataTable JQuery from MVC to .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 【参考方案1】:我会试试的
return Json(new
draw = Convert.ToInt32(draw),
recordsTotal = totalRecords,
recordsFiltered = recFilter,
data = data
);
不声明 JsonResult 变量并在 .Net-Core IActionResult 中使用而不是 ActionResult。
【讨论】:
没什么,同样的错误。 DataTables 警告:请求第 0 行第 0 列的未知参数“ID”以上是关于Json Result DataTable JQuery 从 MVC 到 .NET CORE 2.2的主要内容,如果未能解决你的问题,请参考以下文章
angularjs的jquery dataTable绑定问题