無(wú)框架 Ajax分頁(yè)(原創(chuàng))第2/2頁(yè)
更新時(shí)間:2009年08月07日 00:34:50 作者:
最近想做一個(gè)Ajax的功能,網(wǎng)上一搜幾乎全是基于某某框架的Ajax分頁(yè),要么需給頁(yè)面加上<scriptManager></scriptManager>,要么需引入某dll,要么需使用類似于jquery的框架。
AjaxProcess.aspx
復(fù)制代碼 代碼如下:
<%@ 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;">編號(hào)</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>
注意,這個(gè)Ajax處理頁(yè)面的aspx部分并不像往常那樣是光禿禿的,只有<% %>內(nèi)的信息,它的下面多了一個(gè)repeater控件,細(xì)心的朋友會(huì)發(fā)現(xiàn),這個(gè)repeater控件和主頁(yè)面的repeater控件一摸一樣。就是利用這個(gè)repeater控件來(lái)生成返回的html內(nèi)容的,具體怎么做,請(qǐng)看代碼:
AjaxProcess.aspx.cs
復(fù)制代碼 代碼如下:
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再進(jìn)行操作
this.rptGrid.DataSource = this.GetData(index);
this.rptGrid.DataBind();
Response.Clear();
string html = this.GetHtml(rptGrid);
Response.Write(html);
Response.End();
}
}
}
}
代碼相當(dāng)簡(jiǎn)單,GenerateData()方法用來(lái)生成一個(gè)DataSource,GetData(int index)方法用來(lái)讀取分頁(yè)信息。在Page_Load事件中,會(huì)首先獲取請(qǐng)求字符串中的index(頁(yè)碼),然后利用index取得當(dāng)前頁(yè)的信息并將它綁定到repeater控件上,然后利用GetHtml()方法來(lái)獲取綁定數(shù)據(jù)后的repeater控件的html內(nèi)容,將它返回。
Ok,在主頁(yè)面的js中。
復(fù)制代碼 代碼如下:
var gridData = xmlHttp.responseText;
var grid = document.getElementById("grid");
grid.innerHTML = gridData;
我們獲取返回的這段html,并將它的內(nèi)容輸出到主頁(yè)面的制定div中,到此就成功完成了一次分頁(yè)請(qǐng)求。
這是一個(gè)簡(jiǎn)單的demo,如果有需要,還可以加一些分頁(yè)等待過(guò)程中的動(dòng)畫什么的,這里就不詳述了。
以上東西希望可以幫助到有需要的朋友。
您可能感興趣的文章:
- Ajax 框架學(xué)習(xí)筆記
- AJAX 圖片展示框架56個(gè) 提升開發(fā)效率
- AJAX 驗(yàn)證框架13個(gè)
- PHP 開源AJAX框架14種
- jquery 框架使用教程 AJAX篇
- Jquery AJAX 框架的使用方法
- 基于JQuery框架的AJAX實(shí)例代碼
- javascript之AJAX框架使用說(shuō)明
- asp.net省市三級(jí)聯(lián)動(dòng)的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
- 簡(jiǎn)單的前端js+ajax 購(gòu)物車框架(入門篇)
- 簡(jiǎn)單介紹不用庫(kù)(框架)自己寫ajax
相關(guān)文章
Ajax請(qǐng)求過(guò)程中下載文件在FireFox(火狐)瀏覽器下的兼容問(wèn)題
最近做了個(gè)項(xiàng)目,其中有項(xiàng)目需求是這樣的,點(diǎn)擊一個(gè)文件鏈接下載該文件,同時(shí)向后臺(tái)發(fā)送請(qǐng)求,在開發(fā)過(guò)程中問(wèn)題百出,小編把問(wèn)題總結(jié)分享在腳本之家平臺(tái),供大家參考2016-01-01Ajax實(shí)現(xiàn)異步加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)異步加載數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11jQuery實(shí)現(xiàn)AJAX定時(shí)刷新局部頁(yè)面實(shí)例
本篇文章通過(guò)兩種方法實(shí)例講解ajax定時(shí)刷新局部頁(yè)面,當(dāng)然方法有很多種,也可以不使用ajax來(lái)刷新頁(yè)面,可以使用jquery中的append來(lái)給指定內(nèi)容加?xùn)|西,但是都不太實(shí)用,最實(shí)用的方法還是ajax加載數(shù)據(jù)了。2015-09-09詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法
今天小編就為大家分享一篇詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08AJAX實(shí)現(xiàn)圖片預(yù)覽與上傳及生成縮略圖的方法
下面小編就為大家?guī)?lái)一篇AJAX實(shí)現(xiàn)圖片預(yù)覽與上傳及生成縮略圖的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09簡(jiǎn)單實(shí)現(xiàn)ajax拖拽上傳文件
這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)ajax拖拽上傳文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04