泡客首页
|
CMS下载
|
CRM下载
|
泡客部落
|
首页
挨踢资讯
编程技巧
SEO优化
实用代码
聚焦话题
工作手记
系统安全
本站程序
留言
泡客部落
程序讨论
意见建议
疯狂灌水
社区互动论坛
TXT小说下载
素材酷站推荐
站长工具箱
推荐阅读
·asp程序实现伪静态的代码
·
将asp程序制作成为安装版:xml打包和解包
·
Web 设计工具箱:130 个 Web 设计工具
·超长文章内容如何进行分页并生成HTML文件
·ASP上传漏洞防范
·用中转页显示目标页
·把ACCESS转成SQL数据库[转自Ajax中国]
·Ajax 的六个误区
·PHP生成HTML的技术原理
·又遇到一强人,用CSS作图
站内搜索
随机文档
·能上QQ但不能上网页
·各种css圆角矩形代码
·网络投票中的作弊与反作弊
·ASP保存远程图片到本地 同时取得第一张图片并创建缩略图
·CSS:清除浮动的最优方法
·Ajax 的六个误区
·针对Web系统常用的功能测试方法浅析
·常用的PHP本地测试环境构建软件
·ASP错误信息中文说明大全
·ASP初学者小程序之 - 显示SessionID
您现在的位置:
首页
>>
编程技巧
>> 信息正文
手写的ajax分页控件
2008-11-15 17:56:36 来源: 网络 作者:站长 访问:
70
次 被顶:
1
次 字号:【
大
中
小
】
HTML代码
/************************** 创建XMLHttpRequest对象 **************************/ function CreateRequest() { var xmlObj = null; try { xmlObj = new XMLHttpRequest(); } catch(e) { try { xmlObj = new ActiveXObject("MSXML2.XMLHTTP"); } catch(e2) { try { xmlObj = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e3) { xmlObj = null; } } } if ( !xmlObj && typeof XMLHttpRequest != "undefined" ) { xmlObj=new XMLHttpRequest(); } return xmlObj; } function Poress(weburl,objID) { var objP = document.getElementById(objID) //得到父控件 var xmlhttp = CreateRequest(); //初始化个xmlhttp对象 xmlhttp.open("get",weburl,true); //提交数据 xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4)//4代表成功返回数据 { var result = xmlhttp.responseText;//得到服务器返回的数据 if(result.indexOf("##Err##")>=0) { page=result.substr(0,result.indexOf("##Err##")); var regExp=/page=([-0-9]*)/i; weburl=chkUrl(weburl,regExp,"page="+page); Poress(weburl,objID); } else objP.innerHTML=result; } }; xmlhttp.send(null); //发送数据,请注意顺序和参数,参数一定为null或者"" } function changeUrl(weburl,divID) { var txtPage=document.getElementById("txtPage"); if(txtPage!=null) { var page=txtPage.value; var regExp=/page=([-0-9]*)/i; weburl=chkUrl(weburl,regExp,"page="+page); } if(divID.length==0) location.href=weburl; else Process(weburl,divID); } function changePage(page) { var txtPage=document.getElementById("txtPage"); txtPage.value=page; } function chkUrl(url,regExp,parma) { if(url.indexOf("?")<0) url+="?"+parma; else if(regExp.test(url)) { url=url.replace(regExp,parma); } else url+="&"+parma; return url; } function changeOrderUrl(weburl,divID,ascValue) { var drpSortBy=document.getElementById("drpSortBy"); var btnOrder=document.getElementById("btnOrder"); var regExp=/SortBy=([^&]*)/i; weburl=chkUrl(weburl,regExp,"SortBy="+drpSortBy.value); if(btnOrder.value==ascValue) strSortOrder="DESC" else strSortOrder="ASC" regExp=/SortOrder=([^&]*)/i; weburl=chkUrl(weburl,regExp,"SortOrder="+strSortOrder); if(divID.length==0) location.href=weburl; else Process(weburl,divID); } function changeOrder() { var btnOrder=document.getElementById("btnOrder"); btnOrder.value=''; } ascx 请自己设置载入JS文件 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PageControl.ascx.cs" Inherits="DonDear.Web.UserControls.PageControl" %> <asp:Literal ID="ltPage" runat="server"></asp:Literal> cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Text.RegularExpressions; using System.Text; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using DonDear.Utility; namespace DonDear.Web.UserControls { public partial class PageControl : System.Web.UI.UserControl { public string mStyleClass = "", mSelectedStyleClass = "", mInputStyle = "", mButtonStyle="", mFirstPage = "首页", m上一页:轻便的XMLHttpRequest应用函数:downloadUrl() = "尾页", mPrePage = "上页", m下一页:VB读写TXT文件 = "下页", mGoPage = "Go"; public int mPage = 0, mPageSize = 20, mTotalCount = 121, mShowCount = 5; public bool mShowButton = false,mShowFix=true; public string mContentID = ""; public string ContentID { set { this.mContentID = value; } } public string StyleClass { set { this.mStyleClass = value; } } public string SelectedStyleClass { set { this.mSelectedStyleClass = value; } } public string InputStyle { set { this.mInputStyle = value; } } public string ButtonStyle { set { this.mButtonStyle = value; } } public string FirstPage { set { this.mFirstPage = value; } } public string 上一页:轻便的XMLHttpRequest应用函数:downloadUrl() { set { this.m上一页:轻便的XMLHttpRequest应用函数:downloadUrl() = value; } } public string PrePage { set { this.mPrePage = value; } } public string 下一页:VB读写TXT文件 { set { this.m下一页:VB读写TXT文件 = value; } } public string GoPage { set { this.mGoPage = value; } } public int ToPage { set { this.mPage = value; } get { return this.mPage; } } public int PageSize { set { this.mPageSize = value; } get { return this.mPageSize; } } public int TotalCount { get { return this.mTotalCount; } set { this.mTotalCount = value; } } public int ShowCount { set { this.mShowCount = value; } } public bool ShowButton { set { this.mShowButton = value; } } public bool ShowFix { set { this.mShowFix = value; } } protected void Page_Load(object sender, EventArgs e) { string webUrl = this.Request.Url.ToString(); Regex regExp = new Regex("Page=([-0-9]*)", RegexOptions.IgnoreCase); if (!Page.IsPostBack) { int pageCount = 1; if (this.mPageSize > 0) { if ((mTotalCount % mPageSize) == 0) pageCount = mTotalCount / mPageSize; else pageCount = (mTotalCount / mPageSize) + 1; } StringBuilder sb = new StringBuilder(); if (Request.QueryString["Page"] != null && this.mPage<1) this.mPage = Convert.ToInt32(Request.QueryString["Page"]); if (this.mPage < 1) { this.mPage = 1; webUrl = StrHelper.ReplaceUrl(webUrl, regExp, "Page=1"); Response.Redirect(webUrl); } if (this.mPage > pageCount) { this.mPage = pageCount; webUrl = StrHelper.ReplaceUrl(webUrl, regExp, "Page=" + pageCount.ToString()); Response.Redirect(webUrl); } else { string strScript = "javascript:changeUrl('" + webUrl + "','" + this.mContentID + "');"; string strClick = ""; //首页 if (this.mPage <= 1) sb.Append("<a " + mStyleClass + ">" + mFirstPage + "</a> <a " + mStyleClass + ">" + mPrePage + "</a> "); else { strClick = "changePage(1);" + strScript; sb.Append("<a href='javascript:;' onclick="" + strClick + "" " + mStyleClass + ">" + mFirstPage + "</a> "); strClick = "changePage(" + (this.mPage - 1) + ");" + strScript; sb.Append("<a href='javascript:;' onclick="" + strClick + "" " + mStyleClass + ">" + mPrePage + "</a> "); } int befPageCount = 0, nextPageCount = pageCount / 2, midPage = pageCount / 2, fromPage = 1, toPage = pageCount; if (this.mShowCount > pageCount) this.mShowCount = pageCount; if ((this.mShowCount % 2) == 0) midPage = this.mShowCount / 2; else midPage = (this.mShowCount / 2) + 1; befPageCount = midPage - 1; nextPageCount = this.mShowCount - midPage; //} if (this.mPage > midPage) { fromPage = 1 + (this.mPage - midPage); toPage = this.mShowCount + this.mPage - midPage; } else toPage = this.mShowCount; if (this.mShowCount + (this.mPage - midPage) >= pageCount) { fromPage = pageCount - this.mShowCount + 1; toPage = pageCount; } if (fromPage > 1 && this.mShowFix) sb.Append("<a " + mStyleClass + "></a> "); for (int i = fromPage; i <= toPage; i++) { if (i == this.mPage) sb.Append("<a " + this.mSelectedStyleClass + ">" + i + "</a> "); else { strClick = "changePage(" + i + ");" + strScript; sb.Append("<a href='javascript:;' onclick="" + strClick + "" " + this.mStyleClass + ">" + i + "</a> "); } } if (toPage != pageCount && this.mShowFix) sb.Append("<a " + mStyleClass + "></a> "); if (this.mPage >= pageCount) sb.Append("<a " + mStyleClass + ">" + this.m下一页:VB读写TXT文件 + "</a> <a " + mStyleClass + ">" + this.m上一页:轻便的XMLHttpRequest应用函数:downloadUrl() + "</a> "); else { strClick = "changePage(" + (this.mPage + 1) + ");" + strScript; sb.Append("<a href='javascript:;' onclick="" + strClick + "" " + mStyleClass + ">" + m下一页:VB读写TXT文件 + "</a> "); strClick = "changePage(" + pageCount + ");" + strScript; sb.Append("<a href='javascript:;' onclick="" + strClick + "" " + mStyleClass + ">" + m上一页:轻便的XMLHttpRequest应用函数:downloadUrl() + "</a> "); } string strStyle = ""; if (!this.mShowButton) { strStyle = "display:none;"; } sb.Append("<input size='3px' type='text' id='txtPage' value='" + this.mPage + "' " + mInputStyle + " style='width: 23px;" + strStyle + "'> <input type='button' id='btnGo' onclick="" + strScript + "" " + mButtonStyle + " value='" + mGoPage + "' style='" + strStyle + "' /> "); } this.ltPage.Text = sb.ToString(); } } } }
提示:您可以先修改部分代码再运行
顶一下
打印本文
加入收藏
返回顶部
关闭窗口
Tags:ajax|分页
上一篇:
利用XMLHTTP无刷新添加数据之Post篇
下一篇:
asp程序实现伪静态的代码
相关文章列表
·
超长文章内容如何进行分页并生成HTML文件
·
Ajax 的六个误区
参与评论
请文明参与讨论,禁止漫骂攻击。
用户名:
(Ctrl+Enter 快速发表)
网友评论列表
关于我们
|
联系我们
|
广告服务
|
友情链接
|
网站地图
|
版权声明
|
人才招聘
|
帮助
© CopyRight 2008
Pcook.com.cn
, Inc.All Rights Reserved.
Powered by:
laoy8
Design by:
Pcook
沪ICP备08004247号