.net 核心中的 Jquery DataTables 服务器端
Posted
技术标签:
【中文标题】.net 核心中的 Jquery DataTables 服务器端【英文标题】:Jquery DataTables serverside in .net core 【发布时间】:2019-11-23 12:43:37 【问题描述】:我正在尝试将 jQuery DataTables 服务器端与 .net 核心一起使用。
我正在使用 Ajax 调用我的控制器,并且我使用没有正文的表格强类型化了 View。
我在控制器中获取数据,但似乎无法显示。
我以为是 JSON (https://dotnetcoretutorials.com/2018/05/05/setting-json-serialization-configuration-at-runtime-on-a-net-core-api/),但我查了一下,似乎不是。
我尝试了this tutorial,但仍然找不到我做错了什么。
我只是可以显示在 Ajax 中定义的“sDefaultContent”。
控制器:
[HttpPost]
public async Task<IActionResult> LoadTransaction()
var requestFormData = Request.Form;
List<Transactions> data = await ApiClientFactory.Instance.GetInvoice();
dataList = data;
try
var listData = ProcessModuleCollection(data, requestFormData);
dynamic response = new
Data = listData,
Draw = requestFormData["draw"],
RecordsFiltered = data.Count,
RecordsTotal = data.Count
;
return Ok(response);
//return Json(response);
查看:
<div class="row">
<div>
<div >
</div>
<div class="panel-body">
<table id="example" class="table table-striped table-hover responsive">
<thead>
<tr>
<th>
@html.DisplayNameFor(model => model.ValueDate)
</th>
<th>
@Html.DisplayNameFor(model => model.StructuredMessage)
</th>
</tr>
</thead>
</table>
</div>
</div>
(function($)
var generateCustomerTable = $("#example")
.dataTable(
"processing": true,
"serverSide": true,
"ajax":
"url": "/Home/LoadTransaction",
"method": "POST"
,
"columns": [
"data": "ValueDate", "name": "ValueDate", "sDefaultContent": '0-0-0000', "autoWidth": true ,
"data": "StructuredMessage", "name": "StructuredMessage", "sDefaultContent": '0-0-0000', "autoWidth": true ,
],
"ordering": true,
"paging": true,
"pagingType": "full_numbers",
"pageLength": 10
);
)(jQuery);
这是我的控制台的 printScreen console PrintScreen
【问题讨论】:
您是否遇到了一些错误? 请编辑您的问题并从您的控制器发布 JSON 响应。在您的网站上按 F12 并转到网络选项卡,找到对/Home/LoadTransaction
的请求并复制/粘贴响应。
Gyrocode.com 我对 200 的请求没有问题
【参考方案1】:
我必须承认,社区 *** 已经给出了答案 缺少的东西是在 ajax 调用 datasrc
this post 帮助我了解我想要做什么
阅读更多comments
'dataFilter': function(data)
var json = jQuery.parseJSON( data );
json.RecordsTotal = json.total;
json.RecordsFiltered = json.total;
json.Data = json.list;
return JSON.stringify( json ); // return JSON string
在这种特殊情况下,关于我从控制器发送的内容
【讨论】:
以上是关于.net 核心中的 Jquery DataTables 服务器端的主要内容,如果未能解决你的问题,请参考以下文章
如何使用html和jquery通过asp.net核心api调用获取数据?
如何在 asp.net 核心中从返回零计数的主体正确映射数组