1.3 開始建立ASP.NET MVC專案

ASP.NET MVC 實務精要|第一章 快速入門

我們接下來利用 Visual Studio 開發 ASP.NET MVC 專案。開啟「新增專案」功能畫面,選擇Web 類型範本,點選「ASP.NET Web應用程式」按一下「確定」按鈕,開始建立程序。



於接下來出現的畫面中選取 MVC ,按下「確定」按鈕,即可建立專案樣板。



初始專案樣板建立完成之下,開啟的初始畫面如下:



現在按一下F5 即可執行,出現以下的畫面:



在預設的情形下,MVC採用 bootstrap 樣板,你可以直接採用此樣板設定,或是打造自己的專屬版型。

加入控制器

本章稍早的討論中曾經強調控制器在MVC架構中的關鍵性,當你在網址列輸入一段網址,MVC 會將其對應至某個控制器檔案類別中的特定函式,執行其中的程式碼以完成特定的功能呼叫,現在於實際建立的專案中透過實作示範來體驗控制器的特性。於方案總管找到 controllers 資料夾,按右鍵展開功能選單,依序選取「加入>控制器」如下:



按下「按制器」選項後,出現加入控制器對話方塊,於其中指定控制器名稱為 HelloController ,然後在範本選單中,選取「MVC5 控制器 – 空白」。



按一下「新增」按鈕,出現以下的對話方塊,於其中輸入欲新增的控制器名稱,按一下「加入」完成新的控制器檔案建立作業。



現在回到編輯器,於Controllers資料夾,新增的HelloController.cs已建立其中,畫面左邊是控制器檔案的預設內容,其中的HelloController為一繼承Controller的控制器類別。



現在於其中定義一個簡單的方法 HelloMessage() 回傳一段歡迎訊息,完成後內容如下:



按下F5執行專案,於瀏覽器中的預設網址列字串附加控制器名稱Hello/ HelloMessage,完整位址字串如下:

http://localhost:xxx/Hello/HelloMessage

出現以下的畫面,其中顯示 HelloMessage() 回傳的訊息字串。



MVC 根據要求的網址,解析對應的控制器(Hello),找到其相關的方法(HelloMessage),執行之後回傳結果給瀏覽器。檢視網頁的原始碼,內容如下:



如你所見,回傳的結果並非網頁,而是控制器 return 的字串,這與我們對網頁的理解有些差異,在傳統的Web Forms 開發模式中,它應該是一個網頁,但是MVC的控制器可以回傳包含網頁在內的其它各種資料內容。

以上是最簡單的 MVC 運作過程,請特別注意,當你建立一個標準的MVC專案,其中針對網址列字串的解析格式如下:

/[Controller]/[ActionName]/[Parameters]

Controller 是控制器檔案類別名稱去掉 Controller 字尾的識別字串,而ActionName 則是方法名稱,沒有指定的話預設會執行 Index() 方法。回到上述的範例,當輸入 http://localhost:54590/Hello,它會找到 HelloController 這個控制器類別,然後執行 Index() 這個預設方法,效果同 http://localhost:54590/Hello/index 。

如果指定特定的方法名稱,例如 http://localhost:54590/Hello/SayHello,則會執行其中的 SayHello 方法。

2 則留言:

leonjye 提到...

貌似沒有 SayHello() 這個function

康廷數位 提到...

Hi,leonjye 您好:
已修正,感謝 :D