範例程式 @ GitHub

Release log
2016-04-30
增加「ASP.NET MVC DropDownList 範例」和「ASP.NET MVC 5 + jQuery EasyUI DataGrid 範例程式碼」
2016-11-05
增加「Repository 測試 - 使用 LocalDB」系列文章的範例程式碼


這個一直低調的小小部落格在這三、四年來默默地寫了數百篇的文章,文章的主題內容大部分都圍繞在網站程式開發的範圍,其中也有少數幾篇是屬於我的自言自語,而有關網站程式開發的文章裡,佔多數比例的是「ASP.NET MVC」的文章,從 2009 年接觸 ASP.NET MVC、2010 年開始以 ASP.NET MVC 開發專案,一直到現在至少有四年多的時間,在這段期間從 ASP.NET MVC 乏人問津,進而與朋友們創立「twMVC」社群來推廣 ASP.NET MVC 以及相關網頁技術,然後近兩年發現到業界已經逐漸採納 ASP.NET MVC 做為網站開發的主要技術選項,在這一段時間以來的從部落格流量記錄的觀察,ASP.NET MVC 真的已經是主流的網頁開發技術,但流量逐月爆量地增的現象也發現到許多的 ASP.NET MVC 開發者對於相關資訊的需求是越來越多。

在 twMVC 的研討會或週四晚上聚會時會接觸到許多的開發人員,發現到許多剛接觸 ASP.NET MVC 的開發人員最大的問題在於相關資訊的取得,除了官網上的資料之外就是網路上的部落格文章,官網的教學資料會提供程式原始碼,但是教學文章多半是入門的內容,所以無法對應到實際解決專案上的需求與問題,然後大多數的部落格文章只有片段的資訊內容,無法看到全貌,既使部落格文章裡所提供的方法也許可以解決當前的問題,但是只有片段的內容,導致無法應用在專案裡,而必須要再花更多的時間去解決,綜觀以上的一些觀察,其實大家都想要看到完整的範例程式,最好是完整的專案並且可以下載以及可以執行。

長期看我部落格文章的朋友應該可以發現,我很少提供片段的方法,而且很多都是系列文章,所以看其中一篇文章是不夠的,必須要將一系列的文章給看完,因為我的文章篇幅都是長長一大串,所以必須要有時間並且有耐心地慢慢看完,通常看一遍還無法理解,以致於需要看個好多次,雖然文章有提供原始碼,但還是無法看清全貌,最後雖然把文章看完也看了很多遍,但還是不瞭解我文章所要表達的意思。

所以現在就逐步將以往文章裡所使用的範例程式碼做整理,然後將原始碼上傳到 GitHub 上,讓大家可以直接在上面看程式原始碼,另外也可以直接下載,我所提供的原始碼都是在我電腦上可以執行且沒有錯誤,如果會有需要使用到資料庫的部分,也會使用 LocalDB,這麼一來大家在下載整個範例原始碼後就可以馬上開啟並執行,再以原始碼去對照文章的內容,相信這樣可以幫助大家瞭解文章所要傳達的內容。


Kevin Tseng's GitHub Repository

https://github.com/kevintsengtw?tab=repositories


以下為範例程式始碼與文章的對應:


ASP.NET MVC 4 + jQuery EasyUI Tree and TreeGrid
使用 ASP.NET MVC 4 與 jQuery EasyUI 做出樹狀選單的顯示與管理功能
文章:
ASP.NET MVC + jQuery Easy UI Tree 無限階層的樹狀選單
ASP.NET MVC + jQuery Easy UI Tree 無限階層的樹狀選單 - 使用 JSON
ASP.NET MVC 4 + jQuery EasyUI Tree and TreeGrid
Source Code:
https://github.com/kevintsengtw/MVC4_jQueryEasyUI_Tree_TreeGrid


ASP.NET MVC 4 Reuseable Cascade DropDownList
使用 ASP.NET MVC 4 與 jQuery 做出可重複使用的縣市鄉鎮市區連動下拉選單.
文章:
ASP.NET MVC 建立可重複使用的縣市鄉鎮市區連動下拉選單 (Reuseable Cascade DropDownList)
Source Code:
https://github.com/kevintsengtw/MVC_Reuseable_Cascade_DropDownList


ASP.NET MVC and ASP.NET WebForms with MiniProfiler and Glimpse
有關 ASP.NET MVC 與 ASP.NET WebForms 在使用 Entity Framework 或 ADO.NET 的情況下,分別與 MiniProfiler, Glimpse 整合的範例程式。
文章:
ASP.NET MVC 5 + Entity Framework 6 + MiniProfiler
ASP.NET WebForms + ADO.NET + MiniProfiler
ASP.NET WebForms + ADO.NET + Glimpse
Source Code:
https://github.com/kevintsengtw/Sample_of_MiniProfiler_and_Glimpse


ASP.NET MVC 5 with CheckboxList - CRUD
文章:
ASP.NET MVC 5 with CheckboxList 應用範例
Source Code:
https://github.com/kevintsengtw/MVC5_with_CheckBoxList_CRUD


ASP.NET MVC WebForm Repository Sample
ASP.NET MVC 與 ASP.NET WebForm 使用 Simple Injector 切換選擇不同 Repository.
文章:
ASP.NET MVC 的 Model 使用 ADO.NET
ASP.NET WebForm 使用 Simple Injector 選擇不同的 Repository
Source Code:
https://github.com/kevintsengtw/ASPNET_MVC_WebForm_Repository_Sample


ASP.NET MVC - DropDownList DatePicker
ASP.NET MVC - 下拉選單的日期選擇器
文章:
ASP.NET MVC - 下拉選單的日期選擇器 Part.1
Source Code:
https://github.com/kevintsengtw/MVC-Excel-Export-SelectedColumns


MVC-NewTaipeiCity-OpenData-Sample
ASP.NET MVC 使用政府公開資料
文章:
ASP.NET MVC 使用政府公開資料 Part.1
Source Code:
https://github.com/kevintsengtw/MVC-NewTaipeiCity-OpenData-Sample


PagedList.Mvc.Sample
ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc
文章:
ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc
Source Code:
https://github.com/kevintsengtw/PagedList.Mvc.Sample


Mvc5.ImageCrop.Sample
將以前部落格文章的程式範例重新使用 VS2013 與 ASP.NET MVC 5 建立,而原本部落格文章所提供的舊版本程式原始碼仍然保留,舊版本程式原始碼則是放在「VS2010」的目錄中。
文章:
圖片裁剪大頭貼功能 - ASP.NET MVC + jQuery + imgAreaSelect
圖片裁剪大頭貼功能 - ASP.NET WebForm + jQuery + imgAreaSelect
圖片裁剪大頭貼功能 - ASP.NET (MVC, WebForm) + jQuery + imgAreaSelect 原始檔
ASP.NET MVC 3 + jQuery imgAreaSelect + fancyBox
圖片裁剪大頭貼功能 - ASP.NET MVC + jQuery + imgAreaSelect 程式範例 @ GitHub
Source Code:
https://github.com/kevintsengtw/Mvc5.ImageCrop.Sample


ASP.NET MVC DropDownList 範例
相關的部落格文章連結:
ASP.NET MVC 3 - DropDownList 的基本設定方式
ASP.NET MVC 3 - DropDownListFor 的設定方式
當 ASP.NET MVC 的 DropDownList 遇到了 ViewData or ViewBag
jQuery 對下拉選單 DropDownList 的操作 - 1
jQuery 對下拉選單 DropDownList 的操作 - 2:連動下拉選單
jQuery 練習題:三層式連動下拉選單(無後端整合)
ASP.NET MVC 3 - 基本三層連動式下拉選單應用
ASP.NET MVC 後端產生 DropDownList
ASP.NET MVC 5.2 New Feature - Support HTML optgroup in DropDownList
ASP.NET MVC 5.2 New Feature - optgroup in DropDownList with SelectListItem
ASP.NET MVC DropDownList 範例 @ GitHub
Source Code
https://github.com/kevintsengtw/MVC-DropDownList-Samples


ASP.NET MVC 5 + jQuery EasyUI DataGrid 範例程式碼
把 2013 年 10 月份所寫的一系列 ASP.NET MVC + jQuery EasyUI DataGrid 文章裡的範例做了整理,然後發佈在 Github Repository 上,雖然在臺灣使用 jQuery EasyUI 在系統裡的專案並不是很多,尤其是 ASP.NET MVC 的更少,但我覺得過去的這系列文章裡也有一些內容是可以借鑑的,例如多欄位排序的處理。
文章:
ASP.NET MVC 使用 jQuery EasyUI DataGrid 基礎篇
ASP.NET MVC 使用 jQuery EasyUI DataGrid 分頁功能 (DataGrid Pagination)
ASP.NET MVC 使用 jQuery EasyUI DataGrid - 排序 (Sorting)
ASP.NET MVC 使用 jQuery EasyUI DataGrid - 多欄排序 (Multiple Column Sorting) Part.1
ASP.NET MVC 使用 jQuery EasyUI DataGrid - 多欄排序 (Multiple Column Sorting) Part.2
ASP.NET MVC 使用 jQuery EasyUI DataGrid - 多欄排序 (Multiple Column Sorting) Part.3
ASP.NET MVC 使用 jQuery EasyUI DataGrid - Checkbox
ASP.NET MVC 使用 jQuery EasyUI DataGrid - 顯示 Details(使用 PartialView)
ASP.NET MVC 使用 jQuery EasyUI DataGrid - 顯示 Details(Sub DataGrid)
ASP.NET MVC 5 + jQuery EasyUI DataGrid 範例程式碼 @ Github
Source Code
https://github.com/kevintsengtw/MVC5_jQueryEasyUI_DataGrid_Samples


Repository 測試 - 使用 LocalDB 範例程式碼
說怎麼在 Repository 的單元測試專案裡使用 LocalDB 來完成單元測試
Source Code
https://github.com/kevintsengtw/Repository_Test_with_LocalDB


最後再讓我發個牢騷吧~

不論是 ASP.NET MVC 的初學者或是已經開發幾個專案的進階開發人員,有很多使用 ASP.NET MVC 的開發者並不知道從什麼地方入門,就我的觀察可以分為好幾種狀況:

1.
公司說要使用 ASP.NET MVC 開發網站,但是並沒有提供任何學習支援,例如去外面上課或是買書來看等等,就是讓員工自己想辦法去學,而且沒有給充裕的前置學習時間,直接邊做專案然後一邊學習怎麼用 ASP.NET MVC 開發網站。

2.
公司裡已經有幾個會 ASP.NET MVC 的開發者,但是這些開發者都是自學的,不管是從官網教學課程學來的還是買書來看自學,又或者是在網路上到處蒐羅資料然後看程式碼,再慢慢拼湊學習,可能沒有經過系統化以及縝密的學習,所以導致有許多的開發方式都是硬湊出來,或是使用旁門左道的方式作出來,反正能 Work 就當作已解決。

3.
公司提供資源讓員工學習 ASP.NET MVC 的開發,讓員工報名參加外部的課程,或是聘請外師到公司內進行企業內訓,開發人員能夠依循共同的觀念與開發方式進行 ASP.NET MVC 的專案開發,其中有幾個種子開發者會專精於核心技術的開發與導入,這樣的公司是最少的,也是比較理想的環境,但我想在台灣只有極少數的公司是這麼做的。

不管是哪一種公司、哪一種環境,我都希望開發人員千萬不要閉門造車,一定要多多接觸外面,不管是接觸開放原始碼、線上論壇,或者是參與 twMVC 的研討會或週四晚上聚會等,多多接觸不同的開發人員,在不同資質、經歷、產業別的開發人員身上去汲取經驗並且交換意見,對於自己是會有相當大的幫助。

5 則留言:

  1. 請問有無適合初學者的入門書推薦,感恩!

    回覆刪除
  2. 沒有所謂的是和初學者的入門推薦書
    因為 ASP.NET MVC 開發會需要一些基礎的開發技能,例如 物件導向、ORM 概念與操作、LINQ、HTML、Javascript 等
    尤其是 C# 的熟悉度要有一定的基礎,物件導向觀念也相當需要。

    學習資源的話,這個部落格裡都有寫的,我都有做整理在上面的頁籤網頁裡,
    http://kevintsengtw.blogspot.tw/p/aspnet-mvc.html

    有心要學的話,買本 ASP.NET MVC 5 網站開發美學,其他的就不要買了,
    真的很有心也積極的話,Skilltree.My 的 ASP.NET MVC 5 開發實戰 課程也報名吧(其他單位的課程不推薦
    如果住台北的話, 每週四晚上來伯朗咖啡科大店 參加 twMVC 週四聚會,在聚會裡找人認真的發問與學習,
    關注 twMVC 的官網(http://mvc.tw), 關注 twMVC 臉書專頁

    回覆刪除
    回覆
    1. 入門學習 ASP.NET MVC 的建議
      http://kevintsengtw.blogspot.tw/2016/04/aspnet-mvc.html

      刪除
  3. 感謝大大指點,小弟先買書鑽研看看!

    回覆刪除

提醒

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