AspNetPager控件的最基本用法
更新時間:2012年01月12日 00:54:28 作者:
AspNetPager控件是一個基于.net的第三方免費開源控件,具有開發(fā)高效、使用方便、功能完整等優(yōu)點
它彌補了GridView內置分頁以及PageDatasource類輔助分頁的不足,將分頁數(shù)據(jù)邏輯和頁面UI分離開來,非常有利于SQL分頁的實現(xiàn)。下面僅舉一個最基本的用法,幫助初學者入門。
到AspNetPage官方網站相應頁面下載控件:點擊打開鏈接
下載后解壓縮,里面有一個AspNetPager.dll文件,它就是我們要使用的控件。另外還有一個spNetPager.xml文件,它是對應的文檔,主要有兩個作用:一是供開發(fā)人員使用控件時在代碼智能提示里嵌入使用說明,二是供自動生成文檔工具生成文檔只用。我們把這兩個文件一并放到網站的Bin文件下,然后在Visual Studio 2008 Express的工具箱內添加該控件。接著往頁面中拖一個GridView和一個AspNetPager控件。
為AspNetPager控件設置相應屬性和事件,實現(xiàn)分頁功能,這是該控件最重要最基本的用法。
代碼如下:
Default.aspx文件相關代碼:
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="20"
onpagechanging="AspNetPager1_PageChanging">
</webdiyer:AspNetPager>
Default.aspx.cs文件相關代碼:
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
DisplayData(1, AspNetPager1.PageSize);
}
privatevoid DisplayData(int pageIndex, int pageSize)
{
SQLiteData md = new SQLiteData();
AspNetPager1.RecordCount = (int)(Int64)md.ExecuteScalar("select count(*) from city");
DataTable dt = md.FillDataTable(string.Format("select * from city limit {0},{1}", (pageIndex - 1) * pageSize, pageSize));
md.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protectedvoid AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
{
DisplayData(e.NewPageIndex, AspNetPager1.PageSize);
}
首先在aspx文件里設置PageSize屬性,指出每頁的大小為20條記錄。然后在后臺給出總記錄數(shù)RecordCount、當前頁碼e.NewPageIndex。其中DisplayData方法編寫的好壞很重要,這里顯然實現(xiàn)的比較簡練。當?shù)谝淮卧L問頁面時,顯示第1頁、每頁20條記錄;以后選擇其他頁時,顯示第e.NewPageIndex頁、每頁20條記錄。本示例使用的是SQLite數(shù)據(jù)庫,支持limit關鍵詞,所以分頁邏輯比較簡單。需要說明的是,這里用到了自己編寫的數(shù)據(jù)庫操作類SQLiteData類,讀者可以改寫成用原生ADO.net操作,難度不大。
最后顯示效果:
到AspNetPage官方網站相應頁面下載控件:點擊打開鏈接
下載后解壓縮,里面有一個AspNetPager.dll文件,它就是我們要使用的控件。另外還有一個spNetPager.xml文件,它是對應的文檔,主要有兩個作用:一是供開發(fā)人員使用控件時在代碼智能提示里嵌入使用說明,二是供自動生成文檔工具生成文檔只用。我們把這兩個文件一并放到網站的Bin文件下,然后在Visual Studio 2008 Express的工具箱內添加該控件。接著往頁面中拖一個GridView和一個AspNetPager控件。
為AspNetPager控件設置相應屬性和事件,實現(xiàn)分頁功能,這是該控件最重要最基本的用法。
代碼如下:
Default.aspx文件相關代碼:
復制代碼 代碼如下:
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="20"
onpagechanging="AspNetPager1_PageChanging">
</webdiyer:AspNetPager>
Default.aspx.cs文件相關代碼:
復制代碼 代碼如下:
protectedvoid Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
DisplayData(1, AspNetPager1.PageSize);
}
privatevoid DisplayData(int pageIndex, int pageSize)
{
SQLiteData md = new SQLiteData();
AspNetPager1.RecordCount = (int)(Int64)md.ExecuteScalar("select count(*) from city");
DataTable dt = md.FillDataTable(string.Format("select * from city limit {0},{1}", (pageIndex - 1) * pageSize, pageSize));
md.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}
protectedvoid AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
{
DisplayData(e.NewPageIndex, AspNetPager1.PageSize);
}
首先在aspx文件里設置PageSize屬性,指出每頁的大小為20條記錄。然后在后臺給出總記錄數(shù)RecordCount、當前頁碼e.NewPageIndex。其中DisplayData方法編寫的好壞很重要,這里顯然實現(xiàn)的比較簡練。當?shù)谝淮卧L問頁面時,顯示第1頁、每頁20條記錄;以后選擇其他頁時,顯示第e.NewPageIndex頁、每頁20條記錄。本示例使用的是SQLite數(shù)據(jù)庫,支持limit關鍵詞,所以分頁邏輯比較簡單。需要說明的是,這里用到了自己編寫的數(shù)據(jù)庫操作類SQLiteData類,讀者可以改寫成用原生ADO.net操作,難度不大。
最后顯示效果:

AspNetPager控件功能比較強大,這里只不過介紹了最基本用法,以后有機會會介紹其他功能。
相關文章
基于Cookie使用過濾器實現(xiàn)客戶每次訪問只登錄一次
這篇文章主要介紹了基于Cookie使用過濾器實現(xiàn)客戶每次訪問只登錄一次,需要的朋友可以參考下2017-06-06
在ASP.NET使用JavaScript顯示信息提示窗口實現(xiàn)原理及代碼
在ASP.NET使用JavaScript顯示信息窗口,感興趣的朋友可以了解一下,本文將介紹詳細的操作步驟,希望對你的JavaScript知識鞏固有所幫助2013-01-01
asp.net+js實現(xiàn)的ajax sugguest搜索提示效果
阿會楠根據(jù)網上一份原作者不詳?shù)拇a進行了修改,以適合自己的項目并增加了多個功能。此次放出的代碼為基本實現(xiàn)代碼,也是最接近原來的代碼,略去其他功能。版權歸原作者所有。2009-04-04
asp.net request.PathInfo實現(xiàn)的url重寫
最近對在開始研究url重寫,對重寫的原理以及重寫之后引起的性能問題是研究的重點,研究過程中發(fā)現(xiàn)了一種輕便的“url重寫方案”2009-04-04
ASP.NET MVC5 實現(xiàn)分頁查詢的示例代碼
本篇文章主要介紹了ASP.NET MVC5 實現(xiàn)分頁查詢的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02

