【发布时间】:2021-05-27 12:26:30
【问题描述】:
我有一个 API,它接受页码和页面大小作为返回用户详细信息的参数。 将数据加载到 jquery 数据表中。每次都需要将页码和大小传递给 API 以获取数据。如何获取页码并将其传递给 webmethod 并始终启用下一个按钮。因为当我加载第一次数据时,它只显示页码为 1 并且下一步按钮被禁用。
var tableUserDetails = $("#grdUser").DataTable({
processing: true,
filter: true,
orderMulti: false,
paging: true,
searching: true,
bFilter: true,
bsort: true,
bInfo: true,
pagingType: "simple",
columns: [{ "data": "Id" },
{ "data": "Name" },
{ "data": "userName" },
{ "data": "email" },
{ "data": "role" }
]
});
function getUsers() {
var info =tableUserDetails.page.info();
$.ajax({
data: '{pageNumber:' + info.page+1 + ', pageSize:' + 10 + '}',
type: "POST",
url: "MyPage.aspx/GetUsers",
contentType: Constants.ContentType,
error: function (XMLHttpRequest, textStatus, errorThrown) {
debugger;
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
},
success: function (result) {
},
});
}
【问题讨论】:
-
使用 gridview/listview 和后面的代码会少很多工作。通过所有这些呼叫,您不会节省带宽或提高速度。而且,如果您将整个 gridview 放到更新面板中,那么无论如何您都会有部分回发。因此,您可以让数据表驱动网格,并放入允许排序和过滤的数据视图,当然这些对象(gridview/listview)也支持开箱即用的数据分页器。如果您使用自己的 jQuery 网格,那么您编写的上述所有内置功能都相当多,并且所有这些工作都不会带来更好的性能
标签: javascript c# asp.net datatables webforms