我有一个gridview和一个按钮。在按钮上单击使用jQuery ajax调用将数据绑定到gridview。下面是代码。
我按照此链接中的说明进行了操作 http://www.aspdotnet-suresh.com/2012/03/bind-data-to-gridview-with-jquery-or.html
代码:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "ManualReconJS.aspx/GetRemarkHistory",
data: JSON.stringify({
sAppId: sAppId,
sTempl: sTempl,
sUserId: sUserId,
sSrno: sSrno
}),
cache: false,
dataType: "json",
beforeSend: function() {
$("#imgModalRemarks").show();
},
success: function(result) {
$('#gvRemarksHistory').empty();
var tempDataHtml = "";
if (result.d.length > 0) {
for (var i = 0; i < result.d.length; i++) {
tempDataHtml = "";
if (i == 0) {
var items = result.d[i].toString().split(',');
tempDataHtml += "<tr>";
for (var j = 0; j < items.length; j++) {
tempDataHtml += "<th>" + items[j] + "</th>";
}
tempDataHtml += "</tr>";
} else {
var items = result.d[i].toString().split(',');
tempDataHtml += "<tr>";
for (var j = 0; j < items.length; j++) {
tempDataHtml += "<td>" + items[j] + "</td>";
}
tempDataHtml += "</tr>";
}
$("#gvRemarksHistory").append(tempDataHtml);
}
} else {
$("#imgModalRemarks").hide();
alert('Remarks history not found.');
}
$("#imgModalRemarks").hide();
},
error: function(result) {
var err = $(result.responseText).filter('title').text();
alert("Message: " + err);
$("#imgModalRemarks").hide();
}
});
return false;
我的要求是在gridview中显示备注。当备注数据太少时,上面的代码工作得很好。我在数据量很大时遇到问题。假设我有超过10000条记录,我也实现了分页逻辑(每页1000条)。虽然页面加载显示前1000个备注,但在下一次点击时显示另外1000个这样的评论...但是每个下一个/上一个点击数据提取非常慢,每次点击我的页面都会被挂起,直到流程完成。
请建议我获取并在网格上显示数据的最佳方法。 怎么能让它快?从数据库中获取数据非常快(以毫秒为单位) 是不是可以直接将datatable绑定到gridview?
答案 0 :(得分:0)
在页面上加载大量数据时,GridView始终会变慢。基本上GridView是小数据的好选择。如果要显示大量数据,则应使用HTML表。它包含更多数据和快速加载到页面而不是GridView。 我希望你能理解我能说什么。