<small id='i5G6Q'></small><noframes id='i5G6Q'>

        <bdo id='i5G6Q'></bdo><ul id='i5G6Q'></ul>
      <tfoot id='i5G6Q'></tfoot>
      <i id='i5G6Q'><tr id='i5G6Q'><dt id='i5G6Q'><q id='i5G6Q'><span id='i5G6Q'><b id='i5G6Q'><form id='i5G6Q'><ins id='i5G6Q'></ins><ul id='i5G6Q'></ul><sub id='i5G6Q'></sub></form><legend id='i5G6Q'></legend><bdo id='i5G6Q'><pre id='i5G6Q'><center id='i5G6Q'></center></pre></bdo></b><th id='i5G6Q'></th></span></q></dt></tr></i><div id='i5G6Q'><tfoot id='i5G6Q'></tfoot><dl id='i5G6Q'><fieldset id='i5G6Q'></fieldset></dl></div>
    1. <legend id='i5G6Q'><style id='i5G6Q'><dir id='i5G6Q'><q id='i5G6Q'></q></dir></style></legend>

      使用 Ajax 调用加载 Asp.Net 中继器的 JQuery 数据表插

      时间:2023-08-26

          <small id='n68Az'></small><noframes id='n68Az'>

          1. <legend id='n68Az'><style id='n68Az'><dir id='n68Az'><q id='n68Az'></q></dir></style></legend>

            <tfoot id='n68Az'></tfoot>
              <tbody id='n68Az'></tbody>
            <i id='n68Az'><tr id='n68Az'><dt id='n68Az'><q id='n68Az'><span id='n68Az'><b id='n68Az'><form id='n68Az'><ins id='n68Az'></ins><ul id='n68Az'></ul><sub id='n68Az'></sub></form><legend id='n68Az'></legend><bdo id='n68Az'><pre id='n68Az'><center id='n68Az'></center></pre></bdo></b><th id='n68Az'></th></span></q></dt></tr></i><div id='n68Az'><tfoot id='n68Az'></tfoot><dl id='n68Az'><fieldset id='n68Az'></fieldset></dl></div>
              <bdo id='n68Az'></bdo><ul id='n68Az'></ul>

                本文介绍了使用 Ajax 调用加载 Asp.Net 中继器的 JQuery 数据表插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我正在尝试使用 DataTables 插件为 Ajax 数据绑定 Asp.Net 中继器控件,但它不起作用以下是我的代码.

                I am trying to bind Asp.Net Repeater Control for Ajax Data using DataTables Plugin but its not working Following is my Code.

                    $(document).ready(function () {
                                $('#tblMessages').dataTable({
                                    "sDom": 'T<"clear">lfrtip',
                                    "oLanguage": { "sSearch": "Search the Messages:" },
                                    "aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
                                    "iDisplayLength": 25,
                                    "bProcessing": true,
                                    "bServerSide": true,
                                    "bFilter": true,
                                    "sAjaxSource": "../QCDataServices.asmx/GetPatients",
                                    "fnServerData": function(sSource, aoData, fnCallback) {
                                        aoData.push("{pageSize:'20',pageNumber:'1'}");
                                        $.ajax({
                                                "type": "POST",
                                                "dataType": 'json',
                                                "contentType": "application/json; charset=utf-8",
                                                "url": sSource,
                                                "data": aoData,
                                                "success": function (msg) {
                                                    fnCallback(msg.d);
                                                }
                                            });
                                    },
                                    "sPaginationType": "full_numbers",
                                    "oTableTools": {
                                        "aButtons": [
                                    "copy",
                                    "csv",
                                    "xls",
                                    {
                                        "sExtends": "pdf"
                                    },
                                    "print"
                                ]
                                    },
                                    "aaSorting": [[0, "desc"]]
                                });
                            });
                

                这是作为Json对象获得的类

                Here is the Class which is obtained as Json object

                    public class PatientGridDataSet
                    {
                            public int sEcho { get; set; }
                            public int iTotalRecords { get; set; }
                            public int iTotalDisplayRecord { get; set; }
                            public List<Patient> aaData { get; set; }
                        }
                

                这是服务方法

                        [WebMethod(EnableSession=true)]
                            public PatientGridDataSet GetPatients(int pageSize, int pageNumber)
                            {
                                var patlist=Patients("", "", "");
                                return new PatientGridDataSet {sEcho = pageNumber,iTotalRecords =         patlist.Count, iTotalDisplayRecord = pageSize, aaData= patlist.Skip(pageSize * pageNumber).Take(pageSize).ToList() };
                            }
                            [WebMethod(EnableSession = true)]
                            public List<Patient> Patients(string searchIn, string Operator, string         searchString)
                            {
                                List<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(         /*distinct*/ true);
                                    string hid = Context.Session["HospitalId"] == null ? "0" :         Context.Session["HospitalId"].ToString();
                                    string rid = Context.Session["RoleId"] == null ? "0" :         Context.Session["RoleId"].ToString();
                                    string 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");
                                        }
                                    }
                
                                    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"]))
                                                                    }).ToList();
                                }
                                catch (Exception)
                                {
                                    result = null;
                                }
                                return result;
                            }
                

                首先,当我调用我的 web 服务方法时,它不会去那里,请告诉我其余代码是否正常这是标记

                First Of when i call my webservice method it does not go there please tell me rest code is ok or not Here is the markup

                      <asp:Repeater ID="rptList" runat="server">
                        <HeaderTemplate>
                            <table id="tblMessages">
                                <thead>
                                    <tr>
                                        <th>
                                            Patient Name
                                        </th>
                                        <th>
                                            Address
                                        </th>
                                        <th>
                                            City
                                        </th>
                                        <th>
                                            Contact No
                                        </th>
                                        <th>
                                        MobileNo
                                        </th>
                                        <th>
                                        BPL Card No.
                                        </th>
                                    </tr>
                                </thead>
                                <tbody>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <tr>
                                <td>
                                    <%# Eval("PatientName")%>
                                </td>
                                <td>
                                    <%#Eval("Address")%>
                                </td>
                                <td>
                                    <%# Eval("City")%>
                                </td>
                                <td>
                                    <%# Eval("ContactNo")%>
                                </td>
                                <td>
                                  <%# Eval("MobileNo")%>
                                </td>
                                <td>
                                  <%# Eval("BPLCardNo")%>
                                </td>
                            </tr>
                        </ItemTemplate>
                        <FooterTemplate>
                            </tbody> </table>
                        </FooterTemplate>
                    </asp:Repeater>
                

                推荐答案

                @Tim B James

                @Tim B James

                我已经成功了.但是我尝试使用它的真正原因是无视的.仅获取 80 条记录需要花费大量时间.在这里找到我的客户端代码.

                I have got it worked.But the very reason i tried used it for is defied. It takes a lot of time to fetch only 80 records. Here Find my client code.

                    $(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/

                I have used Solution provided by this link http://activeengine.wordpress.com/2011/02/09/datatablepager-now-has-multi-column-sort-capability-for-datatables-net/

                我的网络服务方法是

                     [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( /*distinct*/ 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;
                    }
                

                请指导如何提高性能.

                这篇关于使用 Ajax 调用加载 Asp.Net 中继器的 JQuery 数据表插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:在 ASP.NET 中选择要上传的多个文件(最好不使用 下一篇:jqGrid 删除一行

                相关文章

                最新文章

                <small id='iFu7d'></small><noframes id='iFu7d'>

                1. <legend id='iFu7d'><style id='iFu7d'><dir id='iFu7d'><q id='iFu7d'></q></dir></style></legend>

                    • <bdo id='iFu7d'></bdo><ul id='iFu7d'></ul>
                    <tfoot id='iFu7d'></tfoot>
                    <i id='iFu7d'><tr id='iFu7d'><dt id='iFu7d'><q id='iFu7d'><span id='iFu7d'><b id='iFu7d'><form id='iFu7d'><ins id='iFu7d'></ins><ul id='iFu7d'></ul><sub id='iFu7d'></sub></form><legend id='iFu7d'></legend><bdo id='iFu7d'><pre id='iFu7d'><center id='iFu7d'></center></pre></bdo></b><th id='iFu7d'></th></span></q></dt></tr></i><div id='iFu7d'><tfoot id='iFu7d'></tfoot><dl id='iFu7d'><fieldset id='iFu7d'></fieldset></dl></div>