ASP.Net分页控件源码www.hunanwang.net(firstButton);
lastButton=newHyperLink();lastButton.ID="Last";lastButton.Text="末页";if(PageIndex!=CalculateTotalPages()-1){lastButton.NavigateUrl=GetHrefString(CalculateTotalPages()-1);}else{lastButton.Enabled=false;}Controls.Add(lastButton);}//////上一页下一页///voidAddPreviousNextHyperLinks(){previousButton=newHyperLink();previousButton.ID="Prev";previousButton.Text="上一页";if(HasPrevious){previousButton.NavigateUrl=GetHrefString(PageIndex-1);}else{previousButton.Enabled=false;}Controls.Add(previousButton);nextButton=newHyperLink();nextButton.ID="Next";nextButton.Text="下一页";if(HasNext){nextButton.NavigateUrl=GetHrefString(PageIndex+1);}else{nextButton.Enabled=false;}Controls.Add(nextButton);}#endregion#region私有属性privateboolHasPrevious{get{if(PageIndex>0)returntrue;returnfalse;}}privateboolHasNext{get{if(PageIndex+1///获取分页导航按钮的超链接字符串//////该分页按钮相对应的页索引///分页导航按钮的超链接字符串privatestringwww.visa158.comGetHrefString(intpageIndex){stringurl=Page.Request.RawUrl;if(Regex.IsMatch(url,@"(\d+).shtml",RegexOptions.IgnoreCase)){url=Regex.Replace(url,@"(\d+).shtml",pageIndex+".shtml");}if(Regex.IsMatch(url,@"PageIndex=(\d+)",RegexOptions.IgnoreCase)){url=Regex.Replace(url,@"PageIndex=(\d+)","PageIndex="+pageIndex.ToString());}returnPage.Server.UrlPathEncode(url);}publicintCalculateTotalPages(){inttotalPagesAvailable;if(TotalRecords==0)return0;totalPagesAvailable=TotalRecords/PageSize;if((TotalRecords%PageSize)>0)totalPagesAvailable++;returntotalPagesAvailable;}//////当前页///publicintPageIndex{get{int_pageIndex=0;if((!Page.IsPostBack)&&(context.PageIndex>0))_pageIndex=context.PageIndex;else_pageIndex=Convert.ToInt32(ViewState["PageIndex"]);if(_pageIndex<0)return0;else{if(_pageIndex>CalculateTotalPages()-1)returnCalculateTotalPages()-1;elsereturn_pageIndex;}}set{ViewState["PageIndex"]=value;}}//////每页记录数///publicintPageSize{get{intpageSize=Convert.ToInt32(ViewState["PageSize"]);if(pageSize==0){return10;}returnpageSize;}set{ViewState["PageSize"]=value;}}//////总记录数///publicintTotalRecords{get{returnConvert.ToInt32(ViewState["TotalRecords"]);}set{ViewState["TotalRecords"]=value;}}privatestringtext="共{0}页";privatestringlinkCss="";//////链接样式///publicstringLinkCss{get{returnlinkCss;}set{linkCss=value;}}privatestringtextCss="";//////文字样式///publicstringTextCss{get{returntextCss;}set{textCss=value;}}publicstringTextFormat{get{returntext;}set{text=value;}}#endregion}}
在页面上只需要向下面这样写:
复制代码代码如下:
<%@ControlLanguage="c#"%><%@RegisterTagPrefix="Anchor"Namespace="MyCompany.Controls"Assembly="MyCompany.Controls"%>
|
|