2014年10月26日 星期日

ASP.NET MVC 資料分頁操作 - 使用 PagedList.Mvc @ GitHub

資料分頁操作在系統開發裡是一定會遇到的一個基本功能,在 ASP.NET MVC 處理資料分頁操作時,因為沒有內建的預設功能,所以有些人會選擇自己實作分頁功能,不過寫得好不好就見仁見智,而大部分的開發者都會選擇直接使用第三方套件,例如 MvcPaging 或 PagedList.Mvc。

這兩個第三方套件在這個部落格裡都有為數部少的文章做介紹,不過這一年多來主要都是使用 PagedList.Mvc 來實作資料分頁的功能,在使用上不會太複雜只要抓住幾個重點就可以,這邊就把過去幾篇在說明如何使用 PagedList.Mvc 的文章範例做了整理,將範例程式檔放到 GitHub 上,讓需要的朋友可以一邊看著文章然後一邊對照程式,這樣比較容易吸收、瞭解。

放到 GitHub 上的範例程式都是可以正常執行的,建議各位不要只是在 GitHub 上面瀏覽程式,而是直接將原始碼下載一份,直接在你自己的電腦上面執行。

 


相關的部落格文章連結:

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:分頁列樣式

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:自訂分頁資訊顯示

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:AJAX

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:Table 的 Checkbox

練習題 - ASP.NET MVC 資料列表顯示 + 分頁 + 查詢 + FormMethod.Post

 

image

 

範例一

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc

image

 

範例二

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:分頁列樣式

image

 

範例三

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:自訂分頁資訊顯示

image

 

範例四

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:AJAX

image

 

範例五

ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc:Table 的 Checkbox

image

 

範例六

練習題 - ASP.NET MVC 資料列表顯示 + 分頁 + 查詢 + FormMethod.Post

image

 

GitHub Repository

ASP.NET MVC - 資料分頁操作範例程式,使用 PagedList.Mvc

https://github.com/kevintsengtw/PagedList.Mvc.Sample

image

 


常常收到一些開發者看了部落格文章之後的的提問,當然提問的內容相當多類型,通常提問內容都是針對文章的主題、內容、範例程式,不過還是會有一些人會偏離主題太遠,例如直接拿自己的程式然後在不相關文章裡就提問,對於這樣的做法我是相當反感,因為這裡不是論壇或是程式討論區,如果可以的話,就請直接到相關的論壇去提問,如果真的是有使用到文章裡的內容,也千萬不要直接把程式就貼在提問區裡,再一次強調,這邊不是論壇或討論區,真的有問題需要與我討論的話,請多多利用部落格左邊的「詢問與建議」,那是使用 UserVoice 服務,所提問的內容不會公布出來,而且也可以附上截圖與程式碼,對於問題討論是有相當大的幫助。

再來另一個我最怕的提問內容就是很多開發者看了文章就會直接拿到自己的程式裡使用,大部分的開發者在詳閱文章說明之後拿到自己程式裡使用是可以正常執行的,但還是有部分開發者因為對於文章的內容一知半解,又或者是因為我文章寫得太爛(這點我必須說抱歉)而導致有些程式直接拿文章裡的範例程式複製貼上到自己程式裡就無法執行。

大多數的開發者都只會關注於部分的重點,但往往沒有去注意到一些關鍵的地方,而這些關鍵的地方就是程式是否正常執行的主要因素,有經驗的開發者通常都會知道這些關鍵點,但是對於初學者或是經驗不是那麼足夠的開發者來說,太過於關注所謂的重點,以致於雖然使用了一模一樣的程式碼(絕大部分的都是直接 Copy Paste)還是一樣爆出錯誤,然後因為只注意重點,所以在找問題的時候就只會在那幾個地方打轉,之後就是無法找出問題點與解決方式,最後就是會到這裡然後提問,提問的內容總是會有類似的幾句話「明明就是使用了跟文章一樣的程式,結果還是錯」「已經直接複製了文章的範例程式,但程式還是無法正常執行」……

有時候的確是我文章沒有將一些影響程式執行的關鍵點給交代出來,因為我會認為那些所謂的關鍵點應該是開發人員的基本常識,不過這樣的情況是比較少,但是大部分的提問者都是沒有注意到一些應該注意的地方(應注意而未注意),程式的開發有來龍去脈、前因後果,如果只是照抄程式碼或是直接複製貼上,沒有去思考程式的前後步驟,總使大部分的程式都是直接複製過去,因為沒去注意到那些關鍵點,終究還是無法正確執行。

之所以要把文章的範例程式作整理然後放到 GitHub 上面來公開給大家,最主要就是要讓大家可以直接看到完整的程式,而且下載後的專案是可以正常執行,然後瞭解整個專案的目錄與檔案結構,這是無法在文章裡鉅細靡遺的完整交代,再來就是很多人跟我反應說都找不到一些範例程式可以看,其實範例程式這東西在網路上是滿山滿谷的,只是你使用 Google 搜尋的方式要對(尤其是不用直接使用中文來找),既然有人覺得範例少,那麼我就將我以往文章裡的範例程式公開給大家做個參考。

最後要說的是,程式不是用「看」的就會,除非你是個程式開發的逸材,雖然有範例程式可以看有可以直接下載,但是千萬不要輕易出動「複製貼上」大法,除非你不想瞭解如何做,只想得到結果,不然請各位一定要動手做,否則你這樣複製貼上個十年,我保證你在寫程式十年後就會覺得寫程式沒有發展然後想去賣雞排。

 

以上

沒有留言:

張貼留言

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。