1.建立用户控件Pager.ascx
1.1 html
script language="javascript">
function callButtonEvent()
{
var keycode =window.event.keyCode;
if(keycode==13)
{
if(check()==true)
{
event.cancelBubble=true;
event.returnValue=false;
document.getElementById('btnGo.ClientID%>').click();
}
}
}
function check()
{
var count = parseInt(document.getElementById('lblTotal.ClientID%>').outerText);
var txt = document.getElementById('txtCurrentPage.ClientID%>').value;
var cur = parseInt(txt);
if ((cur | NaN) ==0)
{
alert('Input page must format as integer.');
event.cancelPostBack=true;
return false;
}
if (cur > count || cur 1)
{
alert('Input page no out of range.');
event.cancelPostBack=true;
return false;
}
}
script>
TABLE ID="Table1" CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0">
colgroup>
col width="400">
col width="50">
col width="50">
col width="40">
col width="20">
col width="40">
col width="40">
col width="50">
col width="70">
colgroup>
TR align="right">
td>td>
TD>asp:LinkButton id="btnFirstPage" runat="server" CommandArgument="First">第一页asp:LinkButton>TD>
TD>asp:LinkButton id="btnPrevPage" runat="server" CommandArgument="Prev">上一页asp:LinkButton>TD>
TD>ASP:TEXTBOX ID="txtCurrentPage" RUNAT="server" MAXLENGTH="3" Width="40">0ASP:TEXTBOX>TD>
TD>ASP:LABEL ID="labOf" RUNAT="server">ofASP:LABEL>TD>
TD>ASP:LABEL ID="lblTotal" RUNAT="server">0ASP:LABEL>TD>
TD>ASP:BUTTON ID="btnGo" RUNAT="server" TEXT="转到" COMMANDARGUMENT="Go" ToolTip="转到">ASP:BUTTON>TD>
TD>asp:LinkButton id="btnNextPage" runat="server" CommandArgument="Next">下一页asp:LinkButton>TD>
TD>asp:LinkButton id="btnLastPage" runat="server" CommandArgument="Last">最后一页asp:LinkButton>TD>
TR>
TABLE>
function callButtonEvent()
{
var keycode =window.event.keyCode;
if(keycode==13)
{
if(check()==true)
{
event.cancelBubble=true;
event.returnValue=false;
document.getElementById('btnGo.ClientID%>').click();
}
}
}
function check()
{
var count = parseInt(document.getElementById('lblTotal.ClientID%>').outerText);
var txt = document.getElementById('txtCurrentPage.ClientID%>').value;
var cur = parseInt(txt);
if ((cur | NaN) ==0)
{
alert('Input page must format as integer.');
event.cancelPostBack=true;
return false;
}
if (cur > count || cur 1)
{
alert('Input page no out of range.');
event.cancelPostBack=true;
return false;
}
}
script>
TABLE ID="Table1" CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0">
colgroup>
col width="400">
col width="50">
col width="50">
col width="40">
col width="20">
col width="40">
col width="40">
col width="50">
col width="70">
colgroup>
TR align="right">
td>td>
TD>asp:LinkButton id="btnFirstPage" runat="server" CommandArgument="First">第一页asp:LinkButton>TD>
TD>asp:LinkButton id="btnPrevPage" runat="server" CommandArgument="Prev">上一页asp:LinkButton>TD>
TD>ASP:TEXTBOX ID="txtCurrentPage" RUNAT="server" MAXLENGTH="3" Width="40">0ASP:TEXTBOX>TD>
TD>ASP:LABEL ID="labOf" RUNAT="server">ofASP:LABEL>TD>
TD>ASP:LABEL ID="lblTotal" RUNAT="server">0ASP:LABEL>TD>
TD>ASP:BUTTON ID="btnGo" RUNAT="server" TEXT="转到" COMMANDARGUMENT="Go" ToolTip="转到">ASP:BUTTON>TD>
TD>asp:LinkButton id="btnNextPage" runat="server" CommandArgument="Next">下一页asp:LinkButton>TD>
TD>asp:LinkButton id="btnLastPage" runat="server" CommandArgument="Last">最后一页asp:LinkButton>TD>
TR>
TABLE>
1.2 cs代码
public class Pager : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.Label lblTotal;
protected System.Web.UI.WebControls.Label labOf;
protected System.Web.UI.WebControls.TextBox txtCurrentPage;
protected System.Web.UI.WebControls.Button btnGo;
protected System.Web.UI.WebControls.LinkButton btnFirstPage;
protected System.Web.UI.WebControls.LinkButton btnPrevPage;
protected System.Web.UI.WebControls.LinkButton btnNextPage;
protected System.Web.UI.WebControls.LinkButton btnLastPage;
int size=10;//可以在web.config中配置
public event System.EventHandler NavigationClick;
private void Page_Load(object sender, System.EventArgs e)
{
this.txtCurrentPage.Attributes.Add("onkeypress","callButtonEvent();");
this.btnGo.Attributes.Add("onclick","check();");
if(!this.IsPostBack)
{
SetStyle();
SetEnable();
}
}
Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
this.btnFirstPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnPrevPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnNextPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnLastPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
}
/**////
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
btnGo_Click#region btnGo_Click
private void btnGo_Click(object sender, System.EventArgs e)
{
LinkButton linkbtn = sender as LinkButton;
if( null == linkbtn )//button
{
Button btn = sender as Button;
if( null == btn )
{
return;
}
else
{
int selPage = -1;
try
{
selPage =Int32.Parse(txtCurrentPage.Text);
}
catch
{
selPage = -1;
}
if (selPage > 0 && selPage PageCount)
{
Vi
{
protected System.Web.UI.WebControls.Label lblTotal;
protected System.Web.UI.WebControls.Label labOf;
protected System.Web.UI.WebControls.TextBox txtCurrentPage;
protected System.Web.UI.WebControls.Button btnGo;
protected System.Web.UI.WebControls.LinkButton btnFirstPage;
protected System.Web.UI.WebControls.LinkButton btnPrevPage;
protected System.Web.UI.WebControls.LinkButton btnNextPage;
protected System.Web.UI.WebControls.LinkButton btnLastPage;
int size=10;//可以在web.config中配置
public event System.EventHandler NavigationClick;
private void Page_Load(object sender, System.EventArgs e)
{
this.txtCurrentPage.Attributes.Add("onkeypress","callButtonEvent();");
this.btnGo.Attributes.Add("onclick","check();");
if(!this.IsPostBack)
{
SetStyle();
SetEnable();
}
}
Web Form Designer generated code#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
this.btnFirstPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnPrevPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnNextPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnLastPage.Click += new System.EventHandler(this.btnGo_Click);
this.btnGo.Click += new System.EventHandler(this.btnGo_Click);
}
/**////
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
btnGo_Click#region btnGo_Click
private void btnGo_Click(object sender, System.EventArgs e)
{
LinkButton linkbtn = sender as LinkButton;
if( null == linkbtn )//button
{
Button btn = sender as Button;
if( null == btn )
{
return;
}
else
{
int selPage = -1;
try
{
selPage =Int32.Parse(txtCurrentPage.Text);
}
catch
{
selPage = -1;
}
if (selPage > 0 && selPage PageCount)
{
Vi