日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Ajax分頁功能的無框架實現(xiàn)方法

開始進(jìn)入Ajax分頁功能的無框架實現(xiàn)方法的正題。

創(chuàng)新互聯(lián)建站是一家以網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運(yùn)維、seo優(yōu)化、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為成都假山制作等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

首先創(chuàng)建前臺頁面MyAjaxPager.aspx

 
 
 
 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyAjaxPager.aspx.cs" Inherits="AjaxDemo.AjaxPager.MyAjaxPager.MyAjaxPager" %>
  2. >
  3.  xmlns="http://www.w3.org/1999/xhtml" >
  4.  runat="server">
  5.     
  6.       type="text/css">
  7.     .a{}{ height:20px; line-height:20px; border-bottom:1px solid #d8dfea; clear:both;}
  8.     .b{}{ float:left; width:30px;}
  9.     .c{}{ float:left; width:500px;}
  10.     
  11.     
  12.     
  13.      id="form1" runat="server">
  14.     
  15.              id="page">
  16.          align="left">
  17.              href="javascript:getData(1);">1
  18.              href="javascript:getData(2);">2
  19.              href="javascript:getData(3);">3
  20.              href="javascript:getData(4);">4
  21.              href="javascript:getData(5);">5
  22.              href="javascript:getData(50);">50
  23.              href="javascript:getData(500);">500
  24.              href="javascript:getData(5000);">5000
  25.              href="javascript:getData(50000);">50000
  26.              href="javascript:getData(99999);">99999
  27.         

  28.          id="grid">
  29.              ID="rptGrid" runat="server">
  30.                 
  31.                     
  32.                         
  33.                              style="border:solid 1px red;">編號
  34.                              style="border:solid 1px red;">姓名
  35.                         
  36.                 
  37.                 
  38.                     
  39.                          style="border:solid 1px red;"><%# Eval("Id") %>
  40.                          style="border:solid 1px red;"><%# Eval("Name") %>
  41.                     
  42.                 
  43.                 
  44.                     
  45.                 
  46.             
  47.         
  •     
  •     
  •     
  • Ajax分頁功能的無框架實現(xiàn)的畫面很簡單,就是一排index地址,當(dāng)點擊鏈接后會以ajax的方式將數(shù)據(jù)綁定到下邊的repeater。

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

     
     
     
     
    1. AjaxProcess.aspx
    2. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxProcess.aspx.cs" Inherits="AjaxDemo.AjaxPager.MyAjaxPager.AjaxProcess" %>
    3.  ID="rptGrid" runat="server">
    4.     
    5.         
    6.             
    7.                  style="border:solid 1px red;">編號
    8.                  style="border:solid 1px red;">姓名
    9.             
    10.     
    11.     
    12.         
    13.              style="border:solid 1px red;"><%# Eval("Id") %>
    14.              style="border:solid 1px red;"><%# Eval("Name") %>
    15.         
    16.     
    17.     
    18.         
    19.     
    20.   

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

     
     
     
     
    1. AjaxProcess.aspx.cs
    2. using System;
    3. using System.Collections.Generic;
    4. using System.Web;
    5. using System.Web.UI;
    6. using System.Web.UI.WebControls;
    7. using System.Text;
    8. using System.IO;
    9. namespace AjaxDemo.AjaxPager.MyAjaxPager
    10. {
    11.     public class Item
    12.     {
    13.         public string Id
    14.         {
    15.             get;
    16.             set;
    17.         }
    18.         public string Name
    19.         {
    20.             get;
    21.             set;
    22.         }
    23.     }
    24.     public partial class AjaxProcess : System.Web.UI.Page
    25.     {
    26.         private int PageSize
    27.         {
    28.             get { return 10; }
    29.         }
    30.         private List GenerateData()
    31.         {
    32.             List lstItems = new List();
    33.             for (int i = 1; i <= 1000000; i++)
    34.             {
    35.                 Item it = new Item();
    36.                 it.Id = i.ToString();
    37.                 it.Name = "zs" + i;
    38.                 lstItems.Add(it);
    39.             }
    40.             return lstItems;
    41.         }
    42.         private List GetData(int index)
    43.         {
    44.             List lstItem = GenerateData();
    45.             List bdItem = new List();
    46.             int begIndex = (index - 1) * PageSize;
    47.             int endIndex = index * PageSize;
    48.             for (int i = begIndex; i < endIndex; i++)
    49.             {
    50.                 bdItem.Add(lstItem[i]);
    51.             }
    52.             return bdItem;
    53.         }
    54.         private string GetHtml(Control control)
    55.         {
    56.             StringBuilder sb = new StringBuilder();
    57.             StringWriter writer = new StringWriter(sb);
    58.             HtmlTextWriter writer2 = new HtmlTextWriter(writer);
    59.             control.RenderControl(writer2);
    60.             return sb.ToString();
    61.         }
    62.         protected void Page_Load(object sender, EventArgs e)
    63.         {
    64.             int index = 0;
    65.             if (int.TryParse(Request.QueryString["index"], out index))
    66.             {
    67.                 //獲取到index再進(jìn)行操作
    68.                 this.rptGrid.DataSource = this.GetData(index);
    69.                 this.rptGrid.DataBind();
    70.                 Response.Clear();
    71.                 string html = this.GetHtml(rptGrid);
    72.                 Response.Write(html);
    73.                 Response.End();
    74.             }
    75.         }
    76.     }
    77. }

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

    Ok,在主頁面的js中。

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

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

    這是一個簡單的demo,如果有需要,還可以加一些分頁等待過程中的動畫什么的,這里就不詳述了。

    以上Ajax分頁功能的內(nèi)容希望可以幫助到有需要的朋友。


    網(wǎng)頁標(biāo)題:Ajax分頁功能的無框架實現(xiàn)方法
    分享網(wǎng)址:http://www.5511xx.com/article/cdggpgc.html