91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ajax中怎么實現分頁功能

發布時間:2021-08-09 14:56:27 來源:億速云 閱讀:148 作者:Leah 欄目:web開發

Ajax中怎么實現分頁功能,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

首先創建前臺頁面MyAjaxPager.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyAjaxPager.aspx.cs" Inherits="AjaxDemo.AjaxPager.MyAjaxPager.MyAjaxPager" %>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title></title>     <style  type="text/css">     .a{}{ height:20px; line-height:20px; border-bottom:1px solid #d8dfea; clear:both;}      .b{}{ float:left; width:30px;}      .c{}{ float:left; width:500px;}      </style>     <script type="text/javascript" src="http://www.cnblogs.com/JS/AjaxFunction.js"></script>     <script type="text/javascript">         var xmlHttp;                    function getData(pIndex) {              xmlHttp = GetXmlRequest();              xmlHttp.onreadystatechange = ShowRepeaterData;              xmlHttp.open("GET", "AjaxProcess.aspx?index=" + pIndex, true);              xmlHttp.send(null);          }           function ShowRepeaterData() {              if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {                  var gridData = xmlHttp.responseText;                  var grid = document.getElementById("grid");                  grid.innerHTML = gridData;              }          }      </script> </head> <body>     <form id="form1" runat="server">     <div>             <div id="page">         <p align="left">             <a href="javascript:getData(1);">1</a>             <a href="javascript:getData(2);">2</a>             <a href="javascript:getData(3);">3</a>             <a href="javascript:getData(4);">4</a>             <a href="javascript:getData(5);">5</a>             <a href="javascript:getData(50);">50</a>             <a href="javascript:getData(500);">500</a>             <a href="javascript:getData(5000);">5000</a>             <a href="javascript:getData(50000);">50000</a>             <a href="javascript:getData(99999);">99999</a>         </p>         <div id="grid">             <asp:Repeater ID="rptGrid" runat="server">                 <HeaderTemplate>                     <table>                         <tr>                             <th style="border:solid 1px red;">編號</th>                             <th style="border:solid 1px red;">姓名</th>                         </tr>                 </HeaderTemplate>                 <ItemTemplate>                     <tr>                         <td style="border:solid 1px red;"><%# Eval("Id") %></td>                         <td style="border:solid 1px red;"><%# Eval("Name") %></td>                     </tr>                 </ItemTemplate>                 <FooterTemplate>                     </table>                 </FooterTemplate>             </asp:Repeater>         </div>     </div>     </div>     </form> </body> </html>

Ajax分頁功能的無框架實現的畫面很簡單,就是一排index地址,當點擊鏈接后會以ajax的方式將數據綁定到下邊的repeater。

Ajax中怎么實現分頁功能

主要功能是在處理Ajax請求的AjaxProcess.aspx頁面實現的,我們來看看。

AjaxProcess.aspx  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxProcess.aspx.cs" Inherits="AjaxDemo.AjaxPager.MyAjaxPager.AjaxProcess" %> <asp:Repeater ID="rptGrid" runat="server">     <HeaderTemplate>         <table>             <tr>                 <th style="border:solid 1px red;">編號</th>                 <th style="border:solid 1px red;">姓名</th>             </tr>     </HeaderTemplate>     <ItemTemplate>         <tr>             <td style="border:solid 1px red;"><%# Eval("Id") %></td>             <td style="border:solid 1px red;"><%# Eval("Name") %></td>         </tr>     </ItemTemplate>     <FooterTemplate>         </table>     </FooterTemplate> </asp:Repeater>

注意,這個Ajax處理頁面的aspx部分并不像往常那樣是光禿禿的,只有<% %>內的信息,它的下面多了一個repeater控件,細心的朋友會發現,這個repeater控件和主頁面的repeater控件一摸一樣。就是利用這個repeater控件來生成返回的html內容的,具體怎么做,請看代碼:

AjaxProcess.aspx.cs  using System;  using System.Collections.Generic;  using System.Web;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Text;  using System.IO;  namespace AjaxDemo.AjaxPager.MyAjaxPager  {      public class Item      {          public string Id          {              get;              set;          }           public string Name          {              get;              set;          }      }       public partial class AjaxProcess : System.Web.UI.Page      {          private int PageSize          {              get { return 10; }          }           private List<Item> GenerateData()          {              List<Item> lstItems = new List<Item>();              for (int i = 1; i <= 1000000; i++)              {                  Item it = new Item();                   it.Id = i.ToString();                  it.Name = "zs" + i;                   lstItems.Add(it);              }               return lstItems;          }           private List<Item> GetData(int index)          {              List<Item> lstItem = GenerateData();              List<Item> bdItem = new List<Item>();               int begIndex = (index - 1) * PageSize;              int endIndex = index * PageSize;               for (int i = begIndex; i < endIndex; i++)              {                  bdItem.Add(lstItem[i]);              }               return bdItem;          }           private string GetHtml(Control control)          {              StringBuilder sb = new StringBuilder();              StringWriter writer = new StringWriter(sb);              HtmlTextWriter writer2 = new HtmlTextWriter(writer);              control.RenderControl(writer2);              return sb.ToString();          }           protected void Page_Load(object sender, EventArgs e)          {              int index = 0;              if (int.TryParse(Request.QueryString["index"], out index))              {                  //獲取到index再進行操作                  this.rptGrid.DataSource = this.GetData(index);                  this.rptGrid.DataBind();                   Response.Clear();                  string html = this.GetHtml(rptGrid);                  Response.Write(html);                  Response.End();              }          }      }  }

代碼相當簡單,GenerateData()方法用來生成一個DataSource,GetData(int index)方法用來讀取分頁信息。在Page_Load事件中,會首先獲取請求字符串中的index(頁碼),然后利用index取得當前頁的信息并將它綁定到repeater控件上,然后利用GetHtml()方法來獲取綁定數據后的repeater控件的html內容,將它返回。

Ok,在主頁面的js中。

var gridData = xmlHttp.responseText;  var grid = document.getElementById("grid");  grid.innerHTML = gridData;

我們獲取返回的這段html,并將它的內容輸出到主頁面的制定div中,到此就成功完成了一次分頁請求。

看完上述內容,你們掌握Ajax中怎么實現分頁功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸溪县| 凤山市| 新乡市| 阳东县| 南木林县| 秦安县| 高邑县| 宜君县| 赫章县| 乐亭县| 迁西县| 衡山县| 桓台县| 闻喜县| 会东县| 天柱县| 乡宁县| 永兴县| 华亭县| 黄龙县| 萝北县| 井冈山市| 泸定县| 巨鹿县| 交城县| 武鸣县| 兴文县| 黔西| 高清| 山东| 和平区| 玛沁县| 静海县| 海兴县| 本溪| 黄石市| 莱州市| 冷水江市| 剑川县| 高密市| 镇坪县|