国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Ajax分頁功能的無框架實現方法

開發 前端
最近想做一個Ajax分頁功能,網上一搜幾乎全是基于某某框架的Ajax分頁,要么需給頁面加上< scriptManager >< /scriptManager>,要么需引入某dll,要么需使用類似于jQuery的框架。使用如上方法確實可以實現Ajax分頁效果,但我總覺得不夠簡潔,這里寫一些我的簡單總結。

開始進入Ajax分頁功能的無框架實現方法的正題。

首先創建前臺頁面MyAjaxPager.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyAjaxPager.aspx.cs" Inherits="AjaxDemo.AjaxPager.MyAjaxPager.MyAjaxPager" %> 
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" > 
  6. <head runat="server"> 
  7.     <title></title> 
  8.     <style  type="text/css"> 
  9.     .a{}{ height:20px; line-height:20px; border-bottom:1px solid #d8dfea; clear:both;}  
  10.     .b{}{ float:left; width:30px;}  
  11.     .c{}{ float:left; width:500px;}  
  12.     </style> 
  13.     <script type="text/javascript" src="http://www.cnblogs.com/JS/AjaxFunction.js"></script> 
  14.     <script type="text/javascript"> 
  15.         var xmlHttp;  
  16.           
  17.         function getData(pIndex) {  
  18.             xmlHttp = GetXmlRequest();  
  19.             xmlHttp.onreadystatechange = ShowRepeaterData;  
  20.             xmlHttp.open("GET", "AjaxProcess.aspx?index=" + pIndex, true);  
  21.             xmlHttp.send(null);  
  22.         }  
  23.  
  24.         function ShowRepeaterData() {  
  25.             if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {  
  26.                 var gridData = xmlHttp.responseText;  
  27.                 var grid = document.getElementById("grid");  
  28.                 grid.innerHTML = gridData;  
  29.             }  
  30.         }  
  31.     </script> 
  32. </head> 
  33. <body> 
  34.     <form id="form1" runat="server"> 
  35.     <div> 
  36.             <div id="page"> 
  37.         <p align="left"> 
  38.             <a href="javascript:getData(1);">1</a> 
  39.             <a href="javascript:getData(2);">2</a> 
  40.             <a href="javascript:getData(3);">3</a> 
  41.             <a href="javascript:getData(4);">4</a> 
  42.             <a href="javascript:getData(5);">5</a> 
  43.             <a href="javascript:getData(50);">50</a> 
  44.             <a href="javascript:getData(500);">500</a> 
  45.             <a href="javascript:getData(5000);">5000</a> 
  46.             <a href="javascript:getData(50000);">50000</a> 
  47.             <a href="javascript:getData(99999);">99999</a> 
  48.         </p> 
  49.         <div id="grid"> 
  50.             <asp:Repeater ID="rptGrid" runat="server"> 
  51.                 <HeaderTemplate> 
  52.                     <table> 
  53.                         <tr> 
  54.                             <th style="border:solid 1px red;">編號</th> 
  55.                             <th style="border:solid 1px red;">姓名</th> 
  56.                         </tr> 
  57.                 </HeaderTemplate> 
  58.                 <ItemTemplate> 
  59.                     <tr> 
  60.                         <td style="border:solid 1px red;"><%# Eval("Id") %></td> 
  61.                         <td style="border:solid 1px red;"><%# Eval("Name") %></td> 
  62.                     </tr> 
  63.                 </ItemTemplate> 
  64.                 <FooterTemplate> 
  65.                     </table> 
  66.                 </FooterTemplate> 
  67.             </asp:Repeater> 
  68.         </div> 
  69.     </div> 
  70.     </div> 
  71.     </form> 
  72. </body> 
  73. </html> 

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

實現畫面

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

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

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

  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.  
  19.         public string Name  
  20.         {  
  21.             get;  
  22.             set;  
  23.         }  
  24.     }  
  25.  
  26.     public partial class AjaxProcess : System.Web.UI.Page  
  27.     {  
  28.         private int PageSize  
  29.         {  
  30.             get { return 10; }  
  31.         }  
  32.  
  33.         private List<Item> GenerateData()  
  34.         {  
  35.             List<Item> lstItems = new List<Item>();  
  36.             for (int i = 1; i <= 1000000; i++)  
  37.             {  
  38.                 Item it = new Item();  
  39.  
  40.                 it.Id = i.ToString();  
  41.                 it.Name = "zs" + i;  
  42.  
  43.                 lstItems.Add(it);  
  44.             }  
  45.  
  46.             return lstItems;  
  47.         }  
  48.  
  49.         private List<Item> GetData(int index)  
  50.         {  
  51.             List<Item> lstItem = GenerateData();  
  52.             List<Item> bdItem = new List<Item>();  
  53.  
  54.             int begIndex = (index - 1) * PageSize;  
  55.             int endIndex = index * PageSize;  
  56.  
  57.             for (int i = begIndex; i < endIndex; i++)  
  58.             {  
  59.                 bdItem.Add(lstItem[i]);  
  60.             }  
  61.  
  62.             return bdItem;  
  63.         }  
  64.  
  65.         private string GetHtml(Control control)  
  66.         {  
  67.             StringBuilder sb = new StringBuilder();  
  68.             StringWriter writer = new StringWriter(sb);  
  69.             HtmlTextWriter writer2 = new HtmlTextWriter(writer);  
  70.             control.RenderControl(writer2);  
  71.             return sb.ToString();  
  72.         }  
  73.  
  74.         protected void Page_Load(object sender, EventArgs e)  
  75.         {  
  76.             int index = 0;  
  77.             if (int.TryParse(Request.QueryString["index"], out index))  
  78.             {  
  79.                 //獲取到index再進行操作  
  80.                 this.rptGrid.DataSource = this.GetData(index);  
  81.                 this.rptGrid.DataBind();  
  82.  
  83.                 Response.Clear();  
  84.                 string html = this.GetHtml(rptGrid);  
  85.                 Response.Write(html);  
  86.                 Response.End();  
  87.             }  
  88.         }  
  89.     }  

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

Ok,在主頁面的js中。

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

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

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

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

【編輯推薦】

  1. 一套通用Ajax框架的源代碼
  2. Ajax, 選擇GET還是POST?
  3. 流行的AJAX框架對比:jQuery,Mootools,Dojo,Ext JS
  4. ASP.NET AJAX框架調用后臺代碼的基本方法
  5. 詳解如何實現最基本的AJAX框架
責任編輯:彭凡 來源: cnblogs
相關推薦

2023-05-09 07:38:57

jQueryAjax代碼

2009-05-20 14:49:16

ibmdwAjaxWeb開發

2009-01-03 08:41:51

Ajax無框架的AjaxASP.NET

2012-05-02 14:41:04

jQuery

2009-11-24 16:09:44

PHP Ajax

2010-11-10 15:29:40

SQL SERVER

2013-12-02 15:25:38

jQuery插件

2009-12-23 09:04:41

LINQ通用分頁

2009-08-18 09:17:03

AJAX框架

2010-08-31 19:53:25

DHCP功能

2009-07-22 16:02:39

ASP.NET MVCPagedList

2009-09-10 09:50:47

ASP.NET MVC

2009-07-28 09:51:11

Flex數據分頁查詢

2010-09-17 10:26:01

iPhone

2012-04-13 10:05:24

ASP.NET

2011-08-15 10:22:19

分頁查詢數據庫

2012-08-08 13:50:28

jQuery

2010-05-25 11:04:36

GRUB加密

2009-09-18 09:37:11

AJAX CDN

2010-02-22 14:28:35

WCF實現loadin
點贊
收藏

51CTO技術棧公眾號

亚洲肉体裸体xxxx137| a优女a优女片| 国产精品视频一区视频二区| 精品国产一区二区三区av性色 | 国产精品88888| 国产富婆一区二区三区| 精品国产不卡| 欧美亚洲激情视频| 99亚洲乱人伦aⅴ精品| 中文字幕9999| 亚州一区二区三区| 亚洲人成在线播放| 成人性生交大片免费网站| 精品国产乱码久久久久久免费| 秋霞午夜在线观看| 欧美视频专区一二在线观看| 黑巨人与欧美精品一区| 亚洲女子a中天字幕| 成人综合av| 中文字幕五月欧美| 婷婷亚洲天堂| 樱花影视一区二区| 超碰在线首页| 欧美性xxxxhd| 免费网站成人| 精品国产三级a在线观看| 黄色网在线播放| 6080yy午夜一二三区久久| 一级日本在线| 亚洲成av人乱码色午夜| 在线观看欧美日韩电影| 亚洲美女黄色片| 国产精品.xx视频.xxtv| 久久久爽爽爽美女图片| 精品国产中文字幕第一页| 91在线高清视频| 在线播放一区| 制服诱惑一区| 91亚洲永久精品| 免费xxxxx网站中文字幕| 91久久线看在观草草青青| 污污网站在线看| 在线观看欧美成人| a级日韩大片| 亚洲字幕一区二区| 日韩av午夜在线观看| 色哟哟免费网站| 91麻豆swag| 成人a视频在线| 成人福利视频| 78色国产精品| 国一区二区在线观看| 日韩欧美精品久久| 91老司机福利 在线| 亚洲精华国产| 日韩欧美在线影院| 久久av日韩| 成人福利视频网| 麻豆成人免费电影| 男男gay免费网站| 欧美高清精品3d| 亚洲成a人片777777久久| 国产精品久久久久影院日本| 久热精品在线| 99免费视频观看| 欧美亚洲愉拍一区二区| 国产综合色在线观看| 国产精自产拍久久久久久蜜| 激情五月激情综合网| 成人免费xx| 欧美videofree性高清杂交| 一区二区三区自拍视频| 成人激情视频免费在线| 国产精品资源站在线| 在线免费观看av网站| 亚洲天堂网在线观看| 少妇精品久久久| 在线观看欧美一区| 偷拍日韩校园综合在线| 成人在线爆射| 91九色对白| 中文子幕无线码一区tr| 欧美1—12sexvideos| 日本视频久久久| 98精品国产自产在线观看| 欧美人成网站| 国产精品久久久久9999小说| 欧美欧美欧美欧美| 日韩一级电影| 亚洲AV无码成人精品一区| 亚洲一级二级三级| 欧美日韩尤物久久| 久久精品国产综合精品| 一区二区三区中文在线| 欧美日韩免费电影| 亚洲高清123| 欧美中文字幕亚洲一区二区va在线| 成人午夜888| 熟女熟妇伦久久影院毛片一区二区| 色婷婷综合激情| 精品成人影院| 男女视频一区二区三区| 亚洲色图综合网| 蜜臀91精品一区二区三区| 欧洲成人av| 国产精品免费一区二区三区都可以| 成人网在线播放| 9765激情中文在线| 久久综合久久久| 在线观看免费亚洲| 91成人精品视频| 香蕉视频在线观看免费| 欧美在线视频免费播放| 国产女主播一区| 国产乱码精品一区二区三区亚洲人| ijzzijzzij亚洲大全| 日韩欧美一区二区在线视频| 欧美久久影院| 午夜成在线www| 国产精品1234| 亚洲人成7777| 欧美福利在线播放网址导航| 欧美激情亚洲天堂| 亚洲国产美女精品久久久久∴| 99国产精品| 北岛玲日韩精品一区二区三区| 国产精品色午夜在线观看| 久久深夜福利免费观看| 亚洲男人的天堂在线| 国产高清不卡一区| 黄色小网站91| 91九色最新地址| 国产高清欧美| 久久躁狠狠躁夜夜爽| 极品销魂美女一区二区三区| 精品三级久久| 亚洲一区综合| 亚洲精品视频网上网址在线观看| 日韩国产欧美视频| 成人福利在线观看视频| 日本不卡一区二区三区视频| 欧美成人r级一区二区三区| 美女视频免费一区| 俺来俺也去www色在线观看| 日本丰满大乳奶| 中文字幕亚洲一区| 久久久久久97三级| 一本久久青青| 亚洲欧洲闷骚av少妇影院| 国产精品一区二区免费| 日韩一区二区三区观看| 精品一区二区三区av| 国产精品蜜月aⅴ在线| 色综合av综合无码综合网站| 大胆欧美人体视频| 自拍偷拍国产精品| 欧美.www| 欧产日产国产精品视频| 黄在线观看网站| 国产精品久久久久免费a∨大胸| 日韩欧美极品在线观看| 免费亚洲一区| 国产精品亚洲成在人线| 二区中文字幕| 快播日韩欧美| 国产亚洲视频在线观看| 国产偷国产偷精品高清尤物| 四虎影视精品| 天天在线视频色| 成人短视频在线观看免费| 久久影院资源网| 亚洲午夜电影在线| 午夜在线精品| 视频精品二区| 国产高清视频免费最新在线| 一区二区精品在线观看| 欧美另类老女人| 91国产福利在线| k8久久久一区二区三区| 国产精品伦理久久久久久| 亚洲美女久久精品| 97影院在线观看| 一区视频二区视频| 国产91亚洲精品| 精品成人私密视频| 中文字幕亚洲在| 日本成人在线视频网站| 日韩a级大片| 91www在线| 国产污污在线观看| japanese在线播放| 国产剧情久久久久久| 日韩国产欧美精品一区二区三区| 国产精品麻豆视频| 日韩成人一区二区三区在线观看| 日本免费精品| 牛牛精品在线视频| 中文字幕国产在线| 欧美精品99久久| 日韩欧美精品一区二区|