1.首先到 www.webdiyer.com下载最新的AspNetPager.dll,直接在vs2005中添加引用即可。
2.在页面上注册控件,引入该控件,当然,需要在页面中使用一个数据载体,我这里使用的是repeater控件。
<%
@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer"
%>
<!-- 省略 -->
< Webdiyer:AspNetPager id ="AspNetPager1" runat ="server" HorizontalAlign ="Right" FirstPageText ="<<" LastPageText =">>" PrevPageText ="<" NextPageText =">" NumericButtonTextFormatString ="-{0}-" Width ="600px"
ShowCustomInfoSection ="Left" ShowBoxThreshold ="2" PageSize ="5" InputBoxClass ="text2" TextAfterInputBox ="" OnPageChanging ="AspNetPager1_PageChanging" />
3.cs代码
<!-- 省略 -->
< Webdiyer:AspNetPager id ="AspNetPager1" runat ="server" HorizontalAlign ="Right" FirstPageText ="<<" LastPageText =">>" PrevPageText ="<" NextPageText =">" NumericButtonTextFormatString ="-{0}-" Width ="600px"
ShowCustomInfoSection ="Left" ShowBoxThreshold ="2" PageSize ="5" InputBoxClass ="text2" TextAfterInputBox ="" OnPageChanging ="AspNetPager1_PageChanging" />
DataSet ds;
SqlDataAdapter dr;
SqlCommand com;
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings[ " SperConnectionString1 " ].ToString();
SqlConnection con = new SqlConnection(strconn);
con.Open();
com = new SqlCommand();
com.Connection = con;
com.CommandText = " select count(*) from Article " ;
AspNetPager1.AlwaysShow = true ;
AspNetPager1.PageSize = 5 ;
AspNetPager1.RecordCount = ( int )com.ExecuteScalar();
con.Close();
RepeaterDataBind();
}
}
private void RepeaterDataBind()
{
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings[ " SperConnectionString1 " ].ToString();
dr = new SqlDataAdapter( " select * from Article " , strconn);
ds = new DataSet();
dr.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1 ), AspNetPager1.PageSize, " Article " );
this .Repeater2.DataSource = ds.Tables[ " Article " ];
this .Repeater2.DataBind();
}
protected void AspNetPager1_PageChanging( object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
RepeaterDataBind();
}
protected string FormatString_Size_13( string str)
{
if (str.Length > 33 )
{
str = str.Substring( 0 , 32 ) + " " ;
}
return str;
}
4.最后修改AspNetPager控件的PageChanging事件为AspNetPager1_PageChanging就可以了。
SqlDataAdapter dr;
SqlCommand com;
protected void Page_Load( object sender, EventArgs e)
{
if ( ! IsPostBack)
{
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings[ " SperConnectionString1 " ].ToString();
SqlConnection con = new SqlConnection(strconn);
con.Open();
com = new SqlCommand();
com.Connection = con;
com.CommandText = " select count(*) from Article " ;
AspNetPager1.AlwaysShow = true ;
AspNetPager1.PageSize = 5 ;
AspNetPager1.RecordCount = ( int )com.ExecuteScalar();
con.Close();
RepeaterDataBind();
}
}
private void RepeaterDataBind()
{
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings[ " SperConnectionString1 " ].ToString();
dr = new SqlDataAdapter( " select * from Article " , strconn);
ds = new DataSet();
dr.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1 ), AspNetPager1.PageSize, " Article " );
this .Repeater2.DataSource = ds.Tables[ " Article " ];
this .Repeater2.DataBind();
}
protected void AspNetPager1_PageChanging( object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
RepeaterDataBind();
}
protected string FormatString_Size_13( string str)
{
if (str.Length > 33 )
{
str = str.Substring( 0 , 32 ) + " " ;
}
return str;
}
是不是很简单呢?