1.建立用户控件Pager.ascx 1.1 html <scriptlanguage="javascript">functioncallButtonEvent(){varkeycode=window.event.keyCode;if(keycode==13){if(check()==true){event.cancelBubble=true;event.returnValue=false;document.getElementById('<%=btnGo.ClientID%>').click();}}}functioncheck(){varcount=parseInt(document.getElementById('<%=lblTotal.ClientID%>').outerText);vartxt=document.getElementById('<%=txtCurrentPage.ClientID%>').value;varcur=parseInt(txt);if((cur|NaN)==0){alert('Inputpagemustformatasinteger.');event.cancelPostBack=true;returnfalse;}if(cur>count||cur<1){alert('Inputpagenooutofrange.');event.cancelPostBack=true;returnfalse;}}</script><TABLEID="Table1"CELLSPACING="0"CELLPADDING="0"WIDTH="100%"BORDER="0"><colgroup><colwidth="400"><colwidth="50"><colwidth="50"><colwidth="40"><colwidth="20"><colwidth="40"><colwidth="40"><colwidth="50"><colwidth="70"></colgroup><TRalign="right"><td></td><TD><asp:LinkButtonid="btnFirstPage"runat="server"CommandArgument="First">第一页</asp:LinkButton></TD><TD><asp:LinkButtonid="btnPrevPage"runat="server"CommandArgument="Prev">上一页</asp:LinkButton></TD><TD><ASP:TEXTBOXID="txtCurrentPage"RUNAT="server"MAXLENGTH="3"Width="40">0</ASP:TEXTBOX></TD><TD><ASP:LABELID="labOf"RUNAT="server">of</ASP:LABEL></TD><TD><ASP:LABELID="lblTotal"RUNAT="server">0</ASP:LABEL></TD><TD><ASP:BUTTONID="btnGo"RUNAT="server"TEXT="转到"COMMANDARGUMENT="Go"ToolTip="转到"></ASP:BUTTON></TD><TD><asp:LinkButtonid="btnNextPage"runat="server"CommandArgument="Next">下一页</asp:LinkButton></TD><TD><asp:LinkButtonid="btnLastPage"runat="server"CommandArgument="Last">最后一页</asp:LinkButton></TD></TR></TABLE> 1.2 cs代码 publicclassPager:System.Web.UI.UserControl{protectedSystem.Web.UI.WebControls.LabellblTotal;protectedSystem.Web.UI.WebControls.LabellabOf;protectedSystem.Web.UI.WebControls.TextBoxtxtCurrentPage;protectedSystem.Web.UI.WebControls.ButtonbtnGo;protectedSystem.Web.UI.WebControls.LinkButtonbtnFirstPage;protectedSystem.Web.UI.WebControls.LinkButtonbtnPrevPage;protectedSystem.Web.UI.WebControls.LinkButtonbtnNextPage;protectedSystem.Web.UI.WebControls.LinkButtonbtnLastPage;intsize=10;//可以在web.config中配置publiceventSystem.EventHandlerNavigationClick;privatevoidPage_Load(objectsender,System.EventArgse){this.txtCurrentPage.Attributes.Add("onkeypress","callButtonEvent();");this.btnGo.Attributes.Add("onclick","check();");if(!this.IsPostBack){SetStyle();SetEnable();}}WebFormDesignergeneratedcode#regionWebFormDesignergeneratedcodeoverrideprotectedvoidOnInit(EventArgse){////CODEGEN:ThiscallisrequiredbytheASP.NETWebFormDesigner.//InitializeComponent();base.OnInit(e);this.btnFirstPage.Click+=newSystem.EventHandler(this.btnGo_Click);this.btnPrevPage.Click+=newSystem.EventHandler(this.btnGo_Click);this.btnNextPage.Click+=newSystem.EventHandler(this.btnGo_Click);this.btnLastPage.Click+=newSystem.EventHandler(this.btnGo_Click);this.btnGo.Click+=newSystem.EventHandler(this.btnGo_Click);}/**////<summary>///RequiredmethodforDesignersupport-donotmodify///thecontentsofthismethodwiththecodeeditor.///</summary>privatevoidInitializeComponent(){this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionbtnGo_Click#regionbtnGo_ClickprivatevoidbtnGo_Click(objectsender,System.EventArgse){LinkButtonlinkbtn=senderasLinkButton;if(null==linkbtn)//button{Buttonbtn=senderasButton;if(null==btn){return;}else{intselPage=-1;try{selPage=Int32.Parse(txtCurrentPage.Text);}catch{selPage=-1;}if(selPage>0&&selPage<=PageCount){ViewState["CurrentPageIndex"]=selPage;}else{return;}}}else//linkbutton{switch(linkbtn.CommandArgument.Trim()){case"First":ViewState["CurrentPageIndex"]=1;break;case"Prev":ViewState["CurrentPageIndex"]=(CurrentPageIndex>1)?CurrentPageIndex-1:1;break;case"Next":ViewState["CurrentPageIndex"]=(PageCount>CurrentPageIndex)?CurrentPageIndex+1:PageCount;break;case"Last":ViewState["CurrentPageIndex"]=PageCount;break;default:break;}}SetEnable();//设置显示样式if(NavigationClick!=null)//调用事件{NavigationClick(sender,e);}}#endregionSetStyle#regionSetStyleprivatevoidSetStyle()