去年就發表過 ,那種方法隻是單純的實作了分頁,基本不能使用,那時就想寫個自己的分頁控件,無奈能力有限。最近有點時間了,就自己做出了這個分頁控件。我承認,這個控件參考了别人的,但是其實裡面的原理都相同,差異隻是展現方式而已。
去年就在做一個自己的背景系統,剛開始用的asp.net,做了一部分就沒有做了,因為缺少權限控制類别。後面轉為用asp.net
mvc4做,也隻是做了一部分,覺得不太友善,也許是我不太會用。再用ajax+ashx做了一部分,雖然體驗不錯,但是我還是放棄了,比起純正的asp.net還是麻煩多了。我要做的系統不是很大,覺得用asp.net很友善,權限控制,通用控件可以加快步伐。是以我決定先做出來再說,怎麼簡單怎麼做。
展示效果

屬性解釋:
css:定義div和連結等的樣式
selectcss:目前選擇的連結樣式
cssenable:本來想做一個預設的樣式,但是感覺需要不大,是以這個屬性暫時無用
pagesize:每頁顯示的資料條數
prenextvisable:上一頁和下一頁的顯示,預設為顯示
totalvisable:顯示總數,預設為不顯示,圖上顯示錯誤:共{0}筆
運作效果:
實作過程
重要代碼解釋,其他可以看注釋
1:控件繼承自control, ipostbackeventhandler
連結調用的為page.clientscript.getpostbackeventreference()方法,點選時進入raisepostbackevent
方法
raisepostbackevent
方法實作接口ipostbackeventhandler,在進入頁面時進入調用onpagechanged()方法實作分頁
2:pagechangedeventargs 類
定義為pagechanged的參數,可以把目前的頁數,總數,每頁顯示數帶到頁面進行查詢,也可以在頁面設定這些屬性,實作控件的顯示
頁面使用
拖入控件,設定好屬性,把要實作的資料查詢和綁定寫在pagechanged裡面,參數裡面包含了分頁的參數(目前頁數,每頁顯示數)
進入頁面地方使用
頁面資料修改或删除後重新整理當頁
源碼下載下傳
以後還會對其進行修改和完善,也可以寫一下類别配合其使用,這個控件沒有與其他控件關聯,也沒用和資料庫關聯,可以自行對任意需要分頁顯示的控件進行分頁。