AspNetPager控件是一個(gè)基于.net的第三方免費(fèi)開源控件,具有開發(fā)高效、使用方便、功能完整等優(yōu)點(diǎn)。它彌補(bǔ)了GridView內(nèi)置分頁以及PageDatasource類輔助分頁的不足,將分頁數(shù)據(jù)邏輯和頁面UI分離開來,非常有利于SQL分頁的實(shí)現(xiàn)。下面僅舉一個(gè)最基本的用法,幫助初學(xué)者入門。
到AspNetPage官方網(wǎng)站相應(yīng)頁面下載控件:點(diǎn)擊打開鏈接
下載后解壓縮,里面有一個(gè)AspNetPager.dll文件,它就是我們要使用的控件。另外還有一個(gè)AspNetPager.xml文件,它是對應(yīng)的文檔,主要有兩個(gè)作用:一是供開發(fā)人員使用控件時(shí)在代碼智能提示里嵌入使用說明,二是供自動生成文檔工具生成文檔。我們把這兩個(gè)文件一并放到網(wǎng)站的Bin文件下,然后在Visual Studio 2008 Express的工具箱內(nèi)添加該控件。接著往頁面中拖一個(gè)GridView和一個(gè)AspNetPager控件。
為AspNetPager控件設(shè)置相應(yīng)屬性和事件,實(shí)現(xiàn)分頁功能,這是該控件最重要最基本的用法。代碼如下:
Default.aspx文件相關(guān)代碼:
asp:GridView ID="GridView1" runat="server"> /asp:GridView> webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="20" onpagechanging="AspNetPager1_PageChanging"> /webdiyer:AspNetPager>
Default.aspx.cs文件相關(guān)代碼:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) DisplayData(1, AspNetPager1.PageSize); } private void DisplayData(int pageIndex, int pageSize) { SQLiteData md = new SQLiteData(); AspNetPager1.RecordCount = md.ExecuteScalarint>("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(); } protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e) { DisplayData(e.NewPageIndex, AspNetPager1.PageSize); }
首先在aspx文件里設(shè)置PageSize屬性,指出每頁的大小為20條記錄。然后在后臺給出總記錄數(shù)RecordCount、當(dāng)前頁碼e.NewPageIndex。其中DisplayData方法編寫的好壞很重要,這里顯然實(shí)現(xiàn)的比較簡練。當(dāng)?shù)谝淮卧L問頁面時(shí),顯示第1頁、每頁20條記錄;以后選擇其他頁時(shí),顯示第e.NewPageIndex頁、每頁20條記錄。本示例使用的是SQLite數(shù)據(jù)庫,支持limit關(guān)鍵詞,所以分頁邏輯比較簡單。需要說明的是,這里用到了自己編寫的數(shù)據(jù)庫操作類SQLiteData類,讀者可以改寫成用原生ADO.net操作,難度不大。
最后顯示效果:
AspNetPager控件功能比較強(qiáng)大,這里只不過介紹了最基本用法,以后有機(jī)會會介紹其他功能。
標(biāo)簽:陽泉 新疆 張家界 德陽 天門 白山 江蘇 蘭州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《AspNetPager控件的最基本用法示例介紹》,本文關(guān)鍵詞 AspNetPager,控件,的,最,基本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。