我有一个jQuery Datatable实例来显示数据库中的许多记录。我使用AJAX提取数据。
我已经在web.config中将maxJsonLength
属性设置为2147483644
,但这仅允许应用程序获取10,000条记录。如果尝试了更多尝试,则会收到错误消息:
字符串的长度超过了在maxJsonLength属性上设置的值
我该怎么办?是否有其他选择可以在数据表中显示300,000条记录?
[WebMethod]
public void GetStudents()
{
var gd = new List<GeneralDetails>();
VisaSetUpBAL bl = new VisaSetUpBAL();
SqlDataReader dr;
dr = bl.returnTableReader("vwVisaApplnV3", "top 10000 *", "1=1");
while (dr.Read())
{
var student = new GeneralDetails
{
ApplicationID = Convert.ToInt32(dr["ApplicationID"]),
RefNo = Convert.ToString(dr["RefNo"]),
AppliedDate = Convert.ToString(dr["AppliedDate"]),
VisaType = Convert.ToInt32(dr["VisaType"]),
ServiceType = Convert.ToInt32(dr["ServiceType"]),
LocationID = Convert.ToInt32(dr["LocationID"]),
Surname = Convert.ToString(dr["Surname"]),
VisaNo = Convert.ToString(dr["VisaNo"]),
ServiceName = Convert.ToString(dr["ServiceType"]),
};
gd.Add(student);
}
var js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(gd));
}
$(document).ready(function() {
$.ajax({
type: "POST",
dataType: "json",
url: "webservice.asmx/GetStudents",
success: function(data) {
var datatableVariable = $('#example').DataTable({
data: data,
serverSide: true,
ordering: false,
searching: false,
columns: [
{ 'data': 'ApplicationID' },
{ 'data': 'RefNo' },
{ 'data': 'AppliedDate' },
{ 'data': 'VisaType' },
{ 'data': 'ServiceType' },
{ 'data': 'LocationID' },
{ 'data': 'Surname' },
{ 'data': 'VisaNo' },
{ 'data': 'ServiceName' }
]
});
$('#example tfoot th').each(function() {
var placeHolderTitle = $('#example thead th').eq($(this).index()).text();
$(this).html('<input type="text" class="form-control input input-sm" placeholder = "Search ' + placeHolderTitle + '" />');
});
}
});
});