У меня есть экземпляр jQuery Datatable для отображения большого количества записей из моей БД. Я получаю данные, используя AJAX.
Я уже установил для свойства maxJsonLength
значение 2147483644
в web.config, но это позволяет приложению получать только 10 000 записей. Если я попробую больше, то получу ошибку:
Длина строки превышает значение, установленное в свойстве maxJsonLength
Что мне делать? Есть ли альтернатива для отображения 300 000 записей в Datatable?
[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 + '" />');
});
}
});
});