栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jQuery数据表插件通过Ajax调用加载Asp.Net中继器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jQuery数据表插件通过Ajax调用加载Asp.Net中继器

@蒂姆·詹姆斯

我已经做到了,但是我尝试使用它的原因是无视的。仅提取80条记录需要花费大量时间。在这里找到我的客户代码。

    $(document).ready(function () {     var grid = $('#tblMessages').dataTable({   "sDom": 'T<"clear">lfrtip',         "oLanguage": { "sSearch": "Search the Messages:" },         "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],         "iDisplayLength": 25,   "oTableTools": {  "aButtons": [         "copy",         "csv",         "xls",         {  "sExtends": "pdf"         },         "print"     ]         },  "bProcessing": true,         "bSort": true,         "sPaginationType": "full_numbers",   "bServerSide": true,        "sAjaxSource": "../QCDataServices.asmx/GetPatients",        "fnServerData": function (sSource, aoData, fnCallback) {  var jsonAOData = JSON.stringify(aoData);  $.ajax({      type: "POST",      //dataType: "json",      contentType: "application/json; charset=utf-8",      url: sSource,      data: "{jsonAOdata: '" + jsonAOData + "'}",      success: function (msg) {     fnCallback(JSON.parse(msg.d));      },      error: function (XMLHttpRequest, textStatus, errorThrown) {          alert(XMLHttpRequest.status);          alert(XMLHttpRequest.responseText);      }   });         },         "aoColumnDefs": [  { "fnRender": function (oObj) {      return "<a href='../FrmMessage.aspx?id='" +         oObj.aData[0] + "><img src='../../images/SMS.png'/></a>";  },      "bSortable": false,      "aTargets": [0]  },  { "sName": "PatientName",      "bSearchable": true,      "aTargets": [1]  },  { "sName": "Address",      "bSearchable": true,      "bSortable": true,      "aTargets": [2]  },  { "sName": "ContactNo", "aTargets": [3] },  { "sName": "MobileNo", "aTargets": [4] },          { "sName": "BPL Card No", "aTargets": [5] }         ]     });     grid.fnSetFilteringDelay(1000); });

我已使用此链接提供的解决方案 http://activeengine.wordpress.com/2011/02/09/datatablepager-
now-has-multi-column-sort-capability-for-datatables-
net/

我的Web服务方法是

     [WebMethod(EnableSession = true)]     [scriptMethod(ResponseFormat = ResponseFormat.Json)]     public string GetPatients(string jsonAOData)     {       var patients= Patients("", "", "");          var dataTablePager = new DataTablePager<Patient>(jsonAOData, patients);         var formattedList = dataTablePager.Filter();         return JsonConvert.SerializeObject(formattedList);     }     [WebMethod(EnableSession = true)]    public IQueryable<Patient> Patients(string searchIn, string Operator, string searchString)    {        IQueryable<Patient> result ;        try        { DataRow[] rows; var table = new dsVw_Patients.vw_PatientsDataTable(); var adapter = new vw_PatientsTableAdapter(); adapter.Fill(table); //DataTable distinctTable = originalTable.DefaultView.ToTable(  true); var hid = Context.Session["HospitalId"] == null ? "0" : Context.Session["HospitalId"].ToString(); var rid = Context.Session["RoleId"] == null ? "0" : Context.Session["RoleId"].ToString(); var uid = Context.Session["UserId"] == null ? "0" : Context.Session["UserId"].ToString(); if (searchIn.Equals("")) {     rows = hid.Equals("0") ? table.DefaultView.ToTable(true).Select("1=1", "PatientName ASC") : table.DefaultView.ToTable(true).Select("HospitalId="+hid, "PatientName ASC");     if(rid.Equals("5"))         rows = table.DefaultView.ToTable(true).Select("UserId="+uid, "PatientName ASC"); } else {     if (hid.Equals("0"))     {         rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select(searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select(searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");     }     else     {         rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select("HospitalId=" + hid+" and "+searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select("HospitalId=" + hid + " and " + searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");     }     if (rid.Equals("5"))     {         rows = Operator.Contains("%") ? table.DefaultView.ToTable(true).Select(searchIn + " like '" + Operator.Replace("_", searchString) + "'", searchIn + " ASC") : table.DefaultView.ToTable(true).Select(searchIn + " " + Operator + " '" + searchString + "'", searchIn + " ASC");     } } //.Skip(pageSize*pageNumber).Take(pageSize).ToList(). var tieup=new clsTieUpCompanies(); result = rows.Select(row => new Patient{    PatientId = Convert.ToInt32(row["PatientId"]), PatientName = row["PatientName"].ToString(), Address = row["Address"].ToString(), Street = row["Street"].ToString(), City = row["City"].ToString(), ContactNo = row["Contactno"].ToString(), MobileNo = row["MobileNo"].ToString(), Email = row["Email"].ToString(), State = row["State"].ToString(), Country = row["Country"].ToString(), BPLCardNo = row["BPLCardNo"].ToString(), Company = tieup.GetTieupCompanyName(Convert.ToInt32(row["CompanyId"]))}).AsQueryable();        }        catch (Exception)        { result = null;        }        return  result;    }

请指导如何提高性能。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381693.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号