Результат Json DataTable JQuery из MVC в .NET CORE 2.2 - PullRequest
0 голосов
/ 10 мая 2019

Я конвертирую функцию, которая заполняет JQuery DataTables из MVC в .NET CORE 2.2. В MVC это работает, и сетка заполнена, в .NET CORE я увидел, что пространство имен mvc JSONRESULT отличается, может ли это быть проблемой? с компиляцией все в порядке и данные есть, но таблица данных говорит мне, как будто она не находит поле идентификатора.

Чтобы компилировать его в .NET CORE, мне пришлось вставить NULL в качестве параметра, когда я создаю экземпляр JsonResult и в конце удаляю 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;
        }

1 Ответ

0 голосов
/ 10 мая 2019

Я бы попробовал

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

без объявления переменной JsonResult и использования в .Net-Core IActionResult вместо ActionResult.

...