2012年11月18日 星期日

ASP.Net MVC初體驗

image
   
      上圖是VS2012的一張擷圖,從圖中可以看到在Web專案範本中提供了ASP.Net MVC 3和4的Web應用程式。而從本文開始將會有一系列的文章介紹ASP.Net MVC 4。選擇MVC 4的專案範本並按下確定後,可以看到如下圖所示:

image      
       MVC 4提供了許多範本,而其中較為特別就是: 行動應用程式 以及 WebAPI。但是無論是選擇那一個範本,其中的差別僅在於是否加入了特定的參考或是JavaScript檔案,也就是說,就算是選擇空白範本也可以進行行動應用程式或是WebAPI的開發,因此,我們選擇本篇文章較方便介紹的網際網路應用程式範本作為範例進行解說。

image


       MVC專案在資料夾上其實就有其明顯又詳細的說明那些檔案該放置在那些資料夾底下,上圖其中紅色方框所框起來的三個資料夾實在是再明顯不過了。而其它的資料夾分別說明如下:
  • App_Data: 這個資料夾與一般資料夾不同的地方在於它無法讓使用以Url檢索到內部的資源,但是也僅僅作到Url無法檢索的這種隱身的特性,但若需要放置更高安全性等級的資料時,便不適合放置在這個資料夾中。
  • App_Start: 這個資料夾放置了MVC網站所需要的一些獨特的*.cs檔案,這些檔案都是過去MVC3要擠在Global.axax的東西現在則將它們個別獨立成一個個程式組態檔,其中例如:驗證授權、過濾器、Js和CSS打包工具、路由設定、WebAPI路由設定。
  • Content: 這個資料夾放置了整個網站所需要的CSS檔案,在過去MVC3中甚至會將圖片或是icon放置在這個資料夾但是在MVC4中已獨立拆出一個Images資料夾放置圖片了。
  • Filters: 有的時候,開發人員會需要設計自己所需要的過濾器以方便進行最佳控制,而這個資料夾就是讓開發人員放置這些自訂過濾器的地方。
  • Images: 放置圖片與icon。
  • Scripts: 放置JavaScript的資料夾。

       微軟在VS2012中更完美的整合了過去大家必備的外掛套件Nuget,也因此,我們可以看到在網站Root根目錄下有一個叫作packages.config的檔案,該檔便是紀錄此網站所使用到的第三方套件即其版本。

       當我們按下VS2012的執行按鈕後其結果如下圖:

image
   
         這是它範本預設就帶有的程式碼所編譯出來的結果。當你按下右上角的註冊時,這個時候會發生一件神奇的事情,你會發現到網站實體檔案目錄下的App_Data資料夾多了幾個檔案,如下圖所示:

 image
       
          原本空無一物的檔案夾,卻在使用者按下註冊後產生了資料庫檔案?其實這個技術是來自於Entity Framework的特異功能,這個部份會在後續的文章中論述。截至目前,大家應該已經對於MVC網站的檔案架構有初步的認識了,而下一篇文章將會開始更深入到本篇文章尚未介紹的三個最重要的資料夾: View, Controller, Model 中的檔案。

總結:微軟的MVC對於開發者來說實在是一個方便的利器,與過去ASP.Net Web Form最大的不同就在於它完全沒有任何控制項,並且不採用事件驅動而是由使用者自行在View , Controller, Model上做變化,讓使用者有更大的自由度可以進行靈活的開發。

沒有留言:

張貼留言