如何从MVC中的JsonResult对象return大数据?
How to return large data from JsonResult object in MVC?
我有一个要求,我必须在 JSONRESULT 对象中 return 218034 条记录。这用于绑定到 jqwidgets 中的数据表。当我 return 大约 5000 条记录时它工作正常但是当我尝试检索大约 218034 时,我在数据表上收到一条消息 "No data to display."
控制器页面中我的代码:
public JsonResult GetProducts()
{
var dbResult = db.Products.ToList();
var products = (from product in dbResult
select new
{
product.ProductID,
product.ProductDesc,
product.ProductNumber
});
return Json(products, JsonRequestBehavior.AllowGet);
}
我在视图中的代码:
@{
ViewBag.Title = "jQWidgets DataTable";
}
@section scripts {
<script type="text/javascript">
$(document).ready(function () {
// prepare the data
var source =
{
dataType: "json",
dataFields: [
{ name: 'ProductDesc', type: 'string' },
{ name: 'ProductNumber', type: 'string' },
],
id: 'ProductID',
url: '/Product/GetProducts'
};
var dataAdapter = new $.jqx.dataAdapter(source);
// create Tree Grid
$("#dataTable").jqxDataTable(
{
width: 1000,
source: dataAdapter,
theme: 'shinyblack',
pageSize: 10,
sortable: true,
filterable: true,
pageable: true,
columns: [
{ text: 'Product', dataField: 'ProductDesc', width: 200 },
{ text: 'Product Number', dataField: 'ProductNumber', width: 200 },
]
});
});
</script>
}
<div id="dataTable"></div>
任何人都可以建议什么是显示大数据的最佳方法。我正在使用 MVC,jqwidgets。
可能是您超出了 MaxJsonLength 的问题。有一个关于 asp.net-largejsonresult
的帮助主题
我有一个要求,我必须在 JSONRESULT 对象中 return 218034 条记录。这用于绑定到 jqwidgets 中的数据表。当我 return 大约 5000 条记录时它工作正常但是当我尝试检索大约 218034 时,我在数据表上收到一条消息 "No data to display."
控制器页面中我的代码:
public JsonResult GetProducts()
{
var dbResult = db.Products.ToList();
var products = (from product in dbResult
select new
{
product.ProductID,
product.ProductDesc,
product.ProductNumber
});
return Json(products, JsonRequestBehavior.AllowGet);
}
我在视图中的代码:
@{
ViewBag.Title = "jQWidgets DataTable";
}
@section scripts {
<script type="text/javascript">
$(document).ready(function () {
// prepare the data
var source =
{
dataType: "json",
dataFields: [
{ name: 'ProductDesc', type: 'string' },
{ name: 'ProductNumber', type: 'string' },
],
id: 'ProductID',
url: '/Product/GetProducts'
};
var dataAdapter = new $.jqx.dataAdapter(source);
// create Tree Grid
$("#dataTable").jqxDataTable(
{
width: 1000,
source: dataAdapter,
theme: 'shinyblack',
pageSize: 10,
sortable: true,
filterable: true,
pageable: true,
columns: [
{ text: 'Product', dataField: 'ProductDesc', width: 200 },
{ text: 'Product Number', dataField: 'ProductNumber', width: 200 },
]
});
});
</script>
}
<div id="dataTable"></div>
任何人都可以建议什么是显示大数据的最佳方法。我正在使用 MVC,jqwidgets。
可能是您超出了 MaxJsonLength 的问题。有一个关于 asp.net-largejsonresult
的帮助主题