03-03 ASP.NET MVC ASP. N MVC - delightpress.com.tw · ASP.NET MVC 3 Application...
Transcript of 03-03 ASP.NET MVC ASP. N MVC - delightpress.com.tw · ASP.NET MVC 3 Application...
CHAPTER 03 新手上路初體驗 59
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
最後,執行「建置方案」就可以將方案根目錄下的packages目錄完整還原,如圖
3-31所示:
圖3-31:建置方案
03-03 建立第一個ASP.NET MVC專案
接下來,我們會用一個非常簡單的留言板程式概要說明ASP.NET MVC 4網站的開
發過程,讓首次接觸ASP.NET MVC的開發人員能對ASP.NET MVC開發有個大致
的輪廓。
我們的第一個專案將不會提到過多與資料庫相關的技術,因此我們將以Entity
Framework Code First開發技術進行資料存取,若讀者想深究其細節,請參考其他
相關書籍,或參考本書第五章內容。
除此之外,本章的核心在於體驗ASP.NET MVC開發過程,若遇到看不懂的詞彙或
技術,可以先跳過,等到《第2篇:技術講解篇》的時候就會有更詳盡的說明。
TIPS
讀者使用Visual Studio 2010來完成本節範例是可以的,但建議先透過NuGet將Entity
Framework升級到5.0版本,以免出現靈異現象。
TIPS
讀者使用Visual Studio 2010來完成本節範例是可以的,但建議先透過NuGet將Entity
Framework升級到5.0版本,以免出現靈異現象。
圖3-31
03-03 建立第一個ASP.N
接下來,我們會用一個非常簡單的留言
發 ASP.NET MVC的
的
我們的第一個專案將不會提到過多與
Framework Code First開發技術進行資
相關書籍,或參考本書第五章內容
除此之外,本章的核心在於體
技術,可以先跳過,等
專案
MVC專案
程式概要說明ASP.N 的開
發人員能對ASP.NE 致
料庫相關的技術,因此我們將以Entity
取,若讀者想深究其細節,請參考其他
MVC開發過程,若遇到看不懂的詞彙或
講解篇》的時候就會有更詳盡的說明。
例是可以的,但建議先
。
ASP.NET MVC 4開發實戰60
❙ 3-3-1 利用ASP.NET MVC 4專案範本建立專案
開啟Visual Studio 2012,選取「檔案」→「專案」。
圖3-32:新增專案
選取「Web」→「ASP.NET MVC 4 Web 應用程式」,名稱請輸入MvcGuestbook。
圖3-33:建立「ASP.NET MVC 4 Web 應用程式」
專案
2,選取「檔案」→
圖3-32
選取「Web」→「ASP.NET MVC 4 Web 應 ,名稱請輸入MvcGuestbook。
VC 4 Web 應用程式」
CHAPTER 03 新手上路初體驗 61
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
TIPS
在Visual Studio 2012中並不支援ASP.NET MVC 2專案類型,若要開啟現有ASP.NET MVC 1.0
或ASP.NET MVC 2.0專案的話,必須使用Visual Studio 2010開發工具。
若要升級專案,也可考慮下載ASP.NET MVC 3 Application Upgrader自動升級工具,透過
ASP.NET MVC 3 Application Upgrader工具的協助下,可以幫你快速將現有ASP.NET MVC
2.0的網站升級到ASP.NET MVC 3.0或ASP.NET MVC 4.0,以下是該工具的相關資料:
ASP.NET MVC 3 Application Upgrader
http://aspnet.codeplex.com/releases/view/59008
ASP.NET MVC 3 Application Upgrader 使用說明
http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-
tool.aspx
新增專案時,會先跳出專案範本選擇精靈,詢問你要使用哪個專案範本,在此我
們選擇「網際網路應用程式」,而其他選項我們保留其預設即可,直接按下確定
按鈕。如圖3-34。
圖3-34:ASP.NET MVC 4專案範本選擇精靈
TIPS
在Visual Studio 2012 MVC 2專案類型,若要開啟現有ASP.NET MVC 1.0
或ASP.NET MVC 2.0專 sual Studio 2010開發工具。
若要升級專案,也可考 C 3 Application Upgrader自動升級工具,透過
ASP.NET MVC 3 App 工具的協助下,可以幫你快速將現有ASP.NET MVC
2.0的網站升級到ASP.N NET MVC 4.0,以下是該工具的相關資料:
ASP.NET MVC 3 App
http://aspnet.codeplex.com/releases/view/59008
ASP.NET MVC 3 App 使用說明
http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-
新增專案時,會先跳出專案範本選擇精
們選擇「網際網路應用程式」,而其他
按鈕。 。
中並不支援ASP.NET M
專案的話,必須使用Vis
考慮下載ASP.NET MVC
plication Upgrader工
NET MVC 3.0或ASP.N
plication Upgrader
plex.com/releases/v
plication Upgrader 使
com/b/marcinon/ahttp://blogs.ms
tool.aspx專案
問你要使用哪個專案範本,在此我
我們保留其預設即可,直接按下確定
3-project-upgrade-
ASP.NET MVC 4開發實戰62
執行「偵錯」→「開始偵錯」 (或按下
【F5】功能鍵) 執行網站,即可啟動一個預
設的ASP.NET MVC 4網站。
此網站具有非常基本的功能,包括3頁簡單的頁面與會員機制,這些頁面都有套
用主版頁面 (Layout Page)、有使用ASP.NET內建的Membership功能,可以進行會
員註冊、登入、登出等。
圖3-36:執行預設的ASP.NET MVC 4網站
圖3-35:偵錯後啟動ASP.NET MVC網站
網站,即可啟動一個
網站。
此網站具有非常基本的功能,包括3頁簡
用 Page)、有使用ASP
員註冊、登入、登出等。
單的頁面與會員機制,這些頁面都有套
T內建的Membersh 會
P NET MVC 4網站
圖3-35:偵錯後啟動ASP.NET MVC網站
CHAPTER 03 新手上路初體驗 63
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
ASP.NET MVC 4 專案範本內建的會員機制,在網頁第一次執行會員機制相關頁面
後,會在網站的App_Data目錄下自動建立一組預設資料庫檔案 (*.mdf, *.ldf),其
檔名規則將會是aspnet-專案名稱-日期時間.mdf,如圖3-37所示:
圖3-37:執行預設的ASP.NET MVC 4網站
TIPS
由於自動建立的資料庫並不會自動加入到Visual Studio 2012專案中,因此預設的情況在App_
Data目錄下,將看不到相關檔案,這時你必須點選方案總管上方工具列的「顯示所有檔案」
按鈕,確認點選後就可以看到不在專案中,但存在檔案總管理的檔案了。
在ASP.NET MVC 4專案新增完成後,會自動建立幾個標準的目錄結構與重要檔
案,圖3-38是預設專案範本所建立的重要檔案與目錄解說:
TIPS
由於自動建立的資料庫 sual S 因此預設的情況在App_
Data目錄下,將看不到相關檔案,這時你必須點選方案總管上方工具列的「顯示所有檔案
中,但存在檔案總管理的檔案了。
_Data目錄下自動建
et-專案名稱-日期時
圖3-37:執行預設
在ASP.NET MVC 4專案新增完
案,圖3-38是預設專案範本
料庫並不會自動加入到Vis
Da 將看不到相關檔案,這時你
按鈕,確認點選後就可以看到不在專案中
專案
.NET MVC 4網站
自動建立幾個標準的目錄結構與重要檔
檔案與目錄解說:
Studio 2012專案中,因 _
點選方案總管上方工具列的「顯示所有檔案」
在檔案總管理的檔案了
ASP.NET MVC 4開發實戰64
定義CSS/JS打包壓縮的規則
全域 Action Filter 定義的地方
定義網址路由 (Routing) 的地方
放置網站內所有靜態內容
例如:圖片、CSS、下載檔案、影片⋯
放置ASP.NET MVC控制器
所有ASP.NET MVC與Models有關的程式碼,例如:EDMX、DBML ⋯
所有JavaScript、VBScript指令檔存放位址
放置ASP.NET MVC檢視
放置HomeController所屬檢視的目錄
放置全站共用檢視的目錄,可能放置
Layout頁面或Partial View或自訂預設錯誤頁面等
圖3-38:預設專案範本建立的檔案與目錄
TIPS
基於第2章提到的以習慣取代配置原則,一般來說我們不會特別去更動這些目錄名稱。
若要比較ASP.NET MVC與ASP.NET Web Forms的差別,我們先以顯示在瀏覽器
的網址來比對其差異,請先看以下比較表,指出ASP.NET Web Forms與ASP.NET
MVC之間在找程式碼位置的時候不一樣的地方:
這些目錄名稱。
TIPS
基於第2章提到的以習慣取代配置原則,一般來說
圖3-38:預設
TIPS
Forms的差別,我們
,指出ASP.NET W
NET MVC與Models有關的程,例如:EDMX、DBML⋯
所有JavaScript、VBScript指令檔存放位址
放置ASP.NET MVC檢
放置HomeCont
放置全站共用檢視
Layout頁面或Partial Vie 訂預設錯
誤頁面等
建立的檔案與目錄
地方:
我們不會特別去更動這
CHAPTER 03 新手上路初體驗 65
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
頁面名稱 使用技術 網址列 程式碼位置
首頁
ASP.NET Web Forms
http://localhost//Index.aspx/Index.aspx.cs
ASP.NET MVC http://localhost//Controller/HomeController.cs/Views/Home/Index.aspx
關於
ASP.NET Web Forms
http://localhost/About.aspx
/About.aspx (頁面)/About.aspx.cs (程式碼)
ASP.NET MVChttp://localhost/Home/About
/Controller/HomeController.cs (程式碼)/Views/Home/About.aspx (頁面)
表3-1:ASP.NET Web Forms與ASP.NET MVC在找程式碼位置的比較表
對於ASP.NET Web Forms來說,「網址路徑」等同於「檔案路徑」,因此要從網
址路徑對映出檔案實體所在位置相當直覺,一般人應該對此不會感到困惑才對。
但ASP.NET MVC若要透過「網址路徑」來找尋檔案,就必須配合ASP.NET MVC
架構的規範來找尋檔案,事實上ASP.NET MVC的「網址路徑」與「檔案路徑」對
應關係是透過「網址路由 (Routing)」來定義的,我們可以從專案內的App_Start\
RouteCon�g.cs檔案看到一個RegisterRoutes方法定義如下:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
這裡定義了兩個預設的網址路由 (Routing):
IgnoreRoute
■設定 *.axd 等格式的網址路徑不要透過ASP.NET MVC執行。
■例如:ASP.NET內建的Trace.axd或其他預設的HttpHandler都不要透過ASP.
NET MVC處理,這樣設定的目的是讓ASP.NET MVC與ASP.NET Web Form
可以在同一個站台下執行而不會互相影響。
public static void Register
表3-1:
對於ASP.NET We
址路徑對映出檔案
但A
架
應
Ro
技術 網址列
Web http://loca
MVC http://loca
Web http://locaAbout.aspx
MVChttp://locaHome/Abo
P.NET Web Forms與A
orms來說,「網址
體所在位置相當直
要透過「網址路徑
案,事實上ASP.NE
址路由 (Routing)」來
案看到一個RegisterR
{ routes.IgnoreRoute("
routes.MapRoute name: "
ur
tes)
專案
程式碼位置的比較表
等同於「檔案路徑」,因此要從網
一般人應該對此不會感到困惑才對。
來找尋檔案,就必須配 MVC
MVC的「網址路徑」與「檔案路徑」對
定義的,我們可以從 rt\
es方法定義如下:
s(RouteCollection
e}.axd/{*pathInfo}
on}/{id}",ller = "Home", act
:
過ASP.NET MVC執
其他預設的HttpHan
ASP.NET MVC 4開發實戰66
MapRoute
■透過MapRoute方法是定義ASP.NET MVC網址路由最主要的方式。
■這一條路由定義了三個參數:
1. name:路由名稱。
2. url:設定網址路徑如何對應到控制器、動作與路由值。
3. defaults:設定 {controller}、{action}、{id} 這3個路由參數的預設值。
從這個預設的MapRoute可以得知,當瀏覽器輸入 http://localhost/Home/About
時,透過Routing的對應之下,由於網址路徑的部分為 Home/About,所以會對應
出 {controller} 為 Home,而 {action} 為 About,因此ASP.NET MVC就會先進入
Controllers目錄找到Home這個控制器 (也就是HomeController.cs檔案),然後再找
到這個控制器內的About公開方法 (Public Method),這個公開方法就是MVC的動
作 (Action),也是實際執行網頁程式的入口點。
當瀏覽器輸入http://localhost/想要取得首頁時,透過Routing的對應之下,由於網址
路徑的部分沒有任何內容,所以會使用MapRoute的第3個參數 (defaults) 所設定的
預設值來替代,因此網站首頁的網址就會先進入Controllers目錄找到Home這個控
制器,然後再找到Index這個公開方法,並進一步執行ASP.NET MVC所有過程。
TIPS
在定義 Routing 的時候各位可能會注意到有個大括號 { } 包裹著一個變數名稱,這個變數
名稱就是路由參數,這裡的路由參數是可以自訂的,不過在所有路由參數中最重要的就
是 {controller} 與 {action} 這兩個,ASP.NET MVC為了要能對應到正確的Controller與
Action,所以這兩個路由參數是必要參數,如果網址路徑沒有包含這兩項的話,在defaults參
數裡必須要指定才行。
我們先來看一下預設的HomeController的內容:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;
會注意到有個大
路由參數是可以自
個變數
路由參
action} 這兩個,ASP.NET 到正確
Action,所以這兩個路由參數是必要參數,如果網址路徑沒有包含這兩項的話,在defaults參
數裡必須要指定才行。
出 {controller} 為
Controllers目錄找到
到這個控制器內的
作 (Action),也是實
當瀏覽 p:/
路徑
預
制器
方法是定義ASP.NET
了三個參數:
名稱。
址路徑如何對應到控
定 {controller}、{act
oute可以得知,當
對應之下,由於網址
me,而 {action} 為
Home這個控制器 (
out公開方法 (Pub
際執行網頁程式的入
calhost/想要取得首
內容,所以會使用
網站首頁的網址就
ndex這個公開方法,
TIPS
在定義 Routing 的時候各位可能會
名稱就是路由參數,這裡的路由
是 {controller} 與 {actio
所以這兩
P.NET MVC就會先進入
Controller.cs檔案),然後再找
od),這個公開方法就是MVC的動
。
時,透過Routing的對應之下,由於網址
pRoute的第3個參數 的
先進入Controllers目 控
進一步執行ASP.NET
容:
數名稱,這個變數
參數中最重要的就
大括號 { } 包裹著一個
訂的,不過在所有路
T MVC為了要能對應到正確的Controller與
網址路徑沒有包含這兩項的話,在d f
CHAPTER 03 新手上路初體驗 67
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
namespace MvcGuestbook.Controllers{ public class HomeController : Controller { public ActionResult Index() { ViewBag.Message = "修改此範本即可開始著手進行您的 ASP.NET MVC 應用程式。";
return View(); }
public ActionResult About() { ViewBag.Message = "您的應用程式描述頁面。";
return View(); }
public ActionResult Contact() { ViewBag.Message = "您的連絡頁面。";
return View(); } }}
首先,控制器 (Controller) 類別在開發的時候必須符合以下規範:
■ 類別名稱一定要有Controller結尾。例如:GuestbookController就代表Guestbook
控制器。
■ 類別繼承於Controller基底類別 (或實作IController介面的類別)。
■ 類別中須包含數個回傳值為ActionResult的公開方法,這些方法在ASP.NET
MVC中稱為動作 (Action)。
在預設首頁Index動作中,第一行的ViewBag是一個dynamic型別的物件,因此該物
件可以設定任意型別的資料進去,這裡所指定的屬性與值都可以在ASP.NET MVC
的View中讀取。
ViewBag.Message = "修改此範本即可開始著手進行您的 ASP.NET MVC 應用程式。";
首先,控制器 (Controller) 類別在開發
■ 類別名稱一定要有Controller結尾
控制器。
■ 類別繼承於Controller基底
類別中須包含數
ook.Controllers
meController : Cont
onResult Index()
Message = "修改此範
View();
onResult About()
.Message = "您的應用
View();
onResult Contact()
.Message = "您的連絡
View();
ViewB
retur }
public Ac { ViewB
您的 ASP.NET MVC 應
候必須符合以下規
:GuestbookContr
Controller介面的類
ult的公開方法,這
ag是一個dynamic
專案
:
er就代表Guestbook
)。
些方法在ASP N
";
型
指定的屬性與值都可
ASP.NET MVC 4開發實戰68
TIPS
動態型別 (dynamic) 出現在C# 4.0之中,因此ASP.NET MVC 4.0網站必須執行在 .NET
Framework 4.0以上版本才行。
第二行的return View(); 事實上是來自於Controller基底類別的一個輔助方法 (Helper
Method),它會回傳一個ViewResult物件,ViewResult是繼承自ActionResult類別,
主要用途是告知ASP.NET MVC框架我要回應一個檢視 (View),而該檢視就來自於
ASP.NET MVC框架所設定的「預設路徑」,以Home控制器與此Index動作為例,
透過View()輔助方法就會去告知ASP.NET MVC框架:「我要顯示Views\Home\
Index.aspx這張網頁的執行結果」。
接著,我們利用Visual Studio的功能新增切換至該動作的檢視,先將游標移至動作
方法的定義處,然後按下滑鼠右鍵,並選取「移至檢視」。
圖3-39:切換至該動作相對應的檢視
從該檢視的網頁內容可以發現,頁面中一開始就是@開頭的語法,這個語法是從
ASP.NET MVC 3開始新增的Razor語法 (讀音:瑞熱),跟以往我們撰寫ASP.NET
MVC 2.0或ASP.NET Web Form寫的ASPX差異甚大,但新版的Razor語法讓套上
程式的View頁面變的非常乾淨清爽,雖然ASP.NET MVC 4一樣可以用ASP.NET
MVC舊版的WebForm View,但筆者建議大家盡量使用Razor來撰寫View頁面,以
提升View程式碼的可讀性。
TIPS
動態型別 (dynamic) ,因此ASP.NET MVC 4.0網站必須執行在 .NET
Framework 4.0以上版
); 事實上是來自於C
一個ViewResult物件
NET MVC框架我要
所設定的「預設路徑
透過View()輔助方法就會去告知ASP.N
Index.aspx這張網頁的執行結果」。
接著,我們利用Visual Studio的功能新增
方法的定義處,然後按下滑鼠右鍵,並選
圖3-39:切換
從該檢視的網頁內容可以發現
ASP.NET MVC 3開始新增
出現在C# 4.0之中
版本才行。
「我要顯示Views\Home\
該動作的檢視,先將游標移至動作
「移至檢視」。
作相對應的檢視
開始就是@開頭的語法,這個語法是從
讀音:瑞熱),跟以往我們撰寫ASP.NET
差異甚大,但新版
ASP.NET MVC 4一
大家盡量使用Razor來
CHAPTER 03 新手上路初體驗 69
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
圖3-40:該動作 (Action) 相對應的檢視 (View)
不過當你仔細一看,你會發現這個Index.cshtml頁面並不是一個完整的HTML頁
面,以往我們在ASP.NET Web Form或ASP.NET MVC 2.0中會套用MasterPage屬性
來套用主版面,但ASP.NET MVC 4.0的主版面設定到哪去了呢?
這時我們先透過方案總管瀏覽到專案的Views
目錄下,裡面有個_ViewStart.cshtml檔案,這
個檔案會在所有View執行之前先載入,通常
我們會在這個檔案裡設定View的一些基本屬
性,例如要載入主版頁面 (Layout Page):
開啟_ViewStart.cshtml檔案後,你會發現這
個檔案只有短短3行,其中定義了一個Layout
屬性,並指向到 ~/Views/Shared/_Layout.
cshtml這個主版頁面,這也代表了在Views目
錄下所有的檢視 (View) 都會預設載入這個主
版頁面。
圖3-42:Views\_ViewStart.cshtml檔案的內容
圖3-41:瀏覽至方案總管中的Views\ _ViewStart.cshtml檔案
圖3-40:該動作 (Act
過當你仔細一看,你會發現這個Ind
面,以往我們在ASP.NET Web Form或A
來套用主版面,但 SP.NET MVC 4.0的
這時我們先透過方案總管瀏覽到專案的
目錄下,裡面有個 ViewStart.cshtml檔案
個檔 w執行之前先載入
我們會在這個檔案裡設定View的一些基
性,例如要載入主版頁面 (Layout Page)
開啟_ViewStart.cshtml檔案後,你會
個檔案只有短短3行,其中定義了一個
屬性,並指向到 ~/Views/Shared
cshtml這個主版頁面,這也代表
錄下所有的檢視 (View) 都
專案
一個完整的HTM
2.0中會套用MasterPage屬性
定到哪去了呢?
這
常
本屬
現這
out
ut.
s目
個主
art.cshtml檔案的內容
圖3-41:瀏覽至方案總管中的Views\ _ViewStart.cshtml檔案
ASP.NET MVC 4開發實戰70
打開 ~/Views/Shared/_Layout.cshtml主版頁面後,會發現這裡就含有完整的
HTML結構了,如圖3-43所示:
圖3-43:Views\Shared\_Layout.cshtml檔案的內容
我們剛剛在Controller中有看到ViewBag.Message被設定了一個字串,到了Index.
cshtml這頁檢視 (View) 就可以透過以下語法將其資料讀出,並顯示於網頁內容中。
@ViewBag.Message
另外,在Index.cshtml這頁最上方也設定了一組ViewBag.Title屬性,這裡所定義的
屬性值也會自動被傳入同一個View以及預設的_Layout.cshtml主版頁面裡。
圖3-44:Views\Home\Index.cshtml檔案的內容
-43所示:
3-43:Views\Shared\
我們 r中有看到ViewBag
cs ) 就可以透過以下語
@Vie
另外,在Index.cshtml這頁最上方也設
屬性值也會自動被傳入同一個View
out.cshtml檔案的內容
essage被設定了一個 x.
將其資料讀出,並
一組ViewBag.Title 性,這裡所定義的
設的_Layout.cshtml 版頁面裡。
dex.cshtml檔案的內容
CHAPTER 03 新手上路初體驗 71
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
圖3-45:Views\Shared\_Layout.cshtml檔案的內容
❙ 3-3-2 建立資料模型
Step01: 在「方案總管」視窗中點選Models目錄,按下滑鼠右鍵,並點選「加
入」→「類別」。
圖3-46:加入類別項目
❙ 3-3-2 建立資
Step01:在「方案
3-45:Views\Shared
模型
總管」視窗中點選
入」→「類別」。
專案
錄,按下滑鼠右鍵,並點選「加
入類別項目
ASP.NET MVC 4開發實戰72
Step02: 我們將類別取名為 Guestbook.cs,並點擊新增按鈕。
圖3-47:設定類別名稱
Step03: 新增一個簡單類別,定義出一個留言版所需的資料模型,其程式碼如下:
namespace MvcGuestbook.Models{ public class Guestbook { public int Id { get; set; } public string 姓名 { get; set; } public string Email { get; set; } public string 內容 { get; set; } }}
Step04: 最後,我們執行一次建置專案,確認沒有任何問題。
圖3-48:執行建置方案,以確保專案沒有任何語法錯誤
Step0 個
ok.Models{ public class Guestbook public int Id { get; set; } public string 姓名 { get; se public string Email { get; public string 內容 { get; }}
圖3-47:設
單類別,定義出一個
確認沒有任何問題
名稱
言版所需的資料模型,其程式碼如下:
CHAPTER 03 新手上路初體驗 73
01
06
02
04
05
0303-03
建立第一個A
SP.N
ET M
VC
專案
PART
TIPS
開發ASP.NET MVC的資料模型 (Model) 其實非常彈性,你可以用自己熟悉的方式存取資料
庫,例如:ADO.NET, LINQ to SQL, NHibernate或Entity Framework等,在專案的Models
目錄只是個目錄而已,是希望你習慣將與資料存取或商業邏輯有關的程式都統一集中在
Models目錄下,但這並非強制性的限制,況且當專案規模變大時,甚至於有可能會將整個
Models轉變成一個獨立的類別庫專案。
❙ 3-3-3 建立控制器、動作與檢視
Step01: 在「方案總管」視窗中點選Controllers目錄,按下滑鼠右鍵,並點選
「加入」→「控制器」。
圖3-49:點選Controllers目錄,並加入控制器
TIPS
開發ASP.NET MVC的 其實非常彈性,你可以用自己熟悉的方式存取資料
庫,例如:ADO.NET, LINQ to SQL, NHibernate或Entity Framework等,在專案的Models
目錄只是個目錄而已,是希望你習慣將與資料存取或商業邏輯有關的程式都統一集中在
Models目錄下,但這並非強制性的限制,況且當專案規模變大時,甚至於有可能會將整個
Models轉變成一個獨立
器、動作與檢視
Step01:在「方案總管」視窗中點選
「加入」→「控制器」。
的資料模型 (Model) 其
, LINQ to SQL, NHibe
已,是希望你習慣將與
這並非強制性的限制,
立的類別庫專案。
專案
,按下滑鼠右鍵,並點選
s目錄,並加入控制器