У меня есть модуль, который показывает все записи из Backhend, но проблема в том, что запись слишком похожа на записи 22k на экране и экране. Вяло и все компоненты работают медленно, поэтому мне приходится делать пейджинг в MVC.
Контроллер
public string TrafficMovement(string formData)
{
try
{
formData = HttpUtility.HtmlDecode(formData);
ReportsAC _obj = new ReportsAC();
DataSet dataset = new DataSet();
ReportsMapper mapper = JsonConvert.DeserializeObject<ReportsMapper>(formData);
UserSession userSession = (UserSession)Session["userSession"];
mapper.Company_Id = userSession.Company_Id;
dataset = _obj.TrafficMovementAC(mapper);
return "{\"Status\":true , \"Message\":\"success\" ,\"Data\": " + JsonConvert.SerializeObject(dataset) + "}";
}
catch (Exception ex)
{
return "{\"Status\":false , \"Message\":\"" + ex.Message.ToString() + "\"}";
}
}
jQuery
функция Traffic_Movement () {
try {
var url = "/Reports/TrafficMovement";
var dataString = {};
ShowLoader();
//dataString.Report_Period = $("#Report_Period").val();
dataString.tfMonth = $("#tffMonth").val();
dataString.tfYear = $("#tffYear").val();
AjaxSubmission(dataString, url, $('input[name=__RequestVerificationToken]').val()).done(function (data) {
if (data.Message == "success") {
var strHTML = '';
var strVAL = '';
if (("#tfbdy") != undefined) {
$('#count_data').html("TOTAL RECORDS: " + data.Data.Table.length);
// $("#trBody").html("<tr><td colspan='15'></td></tr>");
}
if (data.Data.Table != undefined && data.Data.Table.length > 0) {
for (var i = 0; i < data.Data.Table.length; i++) {
//here i m doing binding work
}
$("#tfbdy").html(strHTML);
}
}
HideLoader();
}).fail(function (result) {
//console.log(result.Message);
HideLoader();
});
} catch (e) {
console.log(e.message);
HideLoader();
}
}
Компонент
public DataSet TrafficMovementAC(ReportsMapper mapper)
{
try
{
SqlParameter[] sqlParameter = new SqlParameter[6];
sqlParameter[0] = new SqlParameter("@Company_Id", mapper.Company_Id);
sqlParameter[1] = new SqlParameter("@Branch_Id", mapper.Branch_Id);
sqlParameter[2] = new SqlParameter("@User_Id", mapper.User_Id);
sqlParameter[3] = new SqlParameter("@FY_ID", mapper.FY_Id);
//sqlParameter[4] = new SqlParameter("@Report_Period", mapper.Report_Period );
sqlParameter[4] = new SqlParameter("@tfMonth", mapper.tfMonth);
sqlParameter[5] = new SqlParameter("@tfYear", mapper.tfYear);
dataAccess.ExecuteSelectQueryWithDataSet("SKYBOOKS_TRAFFIC_MOVEMENT_LIST", sqlParameter, out dataSet);
return dataSet;
}
catch
{
throw;
}
}
Если кто-то предложит мне идею пейджинга, это будет много значить, заранее спасибо.