文章出處

1 Mvc分頁組件MvcSimplePager代碼重構

1.1 Intro

1.2 MvcSimplePager 代碼優化

1.3 MvcSimplePager 使用

1.4 End

Mvc分頁組件MvcSimplePager代碼重構

Intro

MvcSimplePager 是為解決分頁的而做的一個通用、擴展性良好的輕量級分頁擴展,可以自定義分頁時調用的方法,自定義分頁所用的樣式,樣式與代碼分離,維護方便。

網上有許多分頁都是查詢所有數據再從中查詢某一頁的數據,但是個人感覺數據很少時還可以,如果數據比較多這樣根本是不可行的,需要哪一頁數據再查詢哪一頁的數據才是正確的做法,才能一定程度上提高查詢的效率。

在網上看了幾個分頁組件,感覺分頁的 html 代碼和 CSharp 代碼都有不同程度上的耦合,都不是特別滿意, 于是自己封裝了一個分頁組件,基本可以實現 html 代碼與 CSharp 代碼的完全分離。

MvcSimplePager 代碼優化

MvcSimplePager 是這樣開始的 http://www.cnblogs.com/weihanli/p/5913797.html

從開始的把分頁的樣式和翻頁事件耦合在代碼中到把翻頁事件分離出來再到最后把分頁樣式也分離開來,MvcSimplePager 才算開始了。

之后是BUG修改和思考代碼的優化和重構

在開始在視圖上展示數據 使用 foreach遍歷數據時是需要 Model.Data 才能夠遍歷的,之后優化成為只需要Model就可以了,像下面這樣:

foreach(var item in Model)

V1.0的時候是沒有 GroupSize 的,為了使用起來更方便加入了一個 GroupSize ,幫助更好的實現更優美的分頁, 剛加的時候不知道當前為什么加了一個驗證 GroupSize 不能大于8的限制【捂臉...】,上個版本已經去掉

總之,希望這個分頁組件能夠解決大家的分頁問題,也希望能夠它越來越好用,使用起來越來越簡單,編碼越來越優美。

下面介紹一下具體使用

MvcSimplePager 使用

  1. 引用 MvcSimplePager 包

    在 nuget 包管理器中搜索 “MvcSimplePager”

     

  2. 自定義 分頁分部視圖

    創建自己項目的分頁分布視圖,放在 Views目錄下的 Shared 目錄下

     

    可參考 demo 項目中的 示例修改為自己想用的Pager:

  3. 后臺代碼中設置頁面數據

    控制器代碼只需要三行代碼:

    • 從數據庫或自己封裝的服務層獲取所需數據
    • 根據查詢的數據生成 IPagerListModel 數據
    • 將 IPagerListModel 數據傳遞到 view

       

  4. 設置所需設置分頁的頁面

    • 在頁面上展示數據

      MvcSimplePager 已經對Model進行了處理,在頁面上展示數據,可以直接 foreach Model

       

    • 分頁

      MvcSimplePager 定義了為 HtmlHelper定義了一個 Pager的擴展方法,用法如下:

       

      • 第一個參數是 Model 里封裝的一個分頁信息
      • 第二個參數是分頁事件,默認是超鏈接,這里我是調用的一個進行分頁的 js 方法
      • 第三個參數是 分頁分部視圖的名稱
      • 第四個參數是 分頁信息展示選項,現在有兩種,總是展示和需要翻頁時才展示

End

現在已經將這個項目 MvcSimplePager 打包到 Nuget http://www.nuget.org/packages/MvcSimplePager/,你可以在VS中 nuget 包管理器中搜索 MvcSimplePager 進行使用 。

自定義 MvcSimplePager 項目和示例代碼:https://github.com/WeihanLi/MvcSimplePager ,你可以根據需要再進行自己的定制。

如果 MvcSimplePager 還有什么不能滿足你的需要,歡迎與我聯系,期待您的建議和反饋 ben121011@126.com


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()