文章來源: Slark.NET-博客園 http://www.cnblogs.com/slark/p/mvc-5-get-started-controller.html
上一節:ASP.NET MVC 5 入門教程 (1) 新建項目
下一節:ASP.NET MVC 5 入門教程 (3) 路由route
源碼下載:點我下載
顧名思義,一個MVC項目是由M-Model-模型、V-View-視圖、C-Controller-控制器這三部分組成。關系圖如下所示。
先撇開MVC的整體運行機制不談,我們可以看到用戶發起的請求首先會到達控制器Controller。
控制器的定義:控制器是一種類,它可以處理瀏覽器發來的請求,從模型(Model)中獲取數據,然后將處理后的數據通過視圖(View)發送給瀏覽器。
我們首先創建一個Controller。在VS右側的解決方案資源管理器中右鍵點擊Controllers然后選擇添加,然后點擊控制器。如下圖所示。Controllers文件夾用來存放所有控制器。這個不是強制規定,但是這是約定俗成的習慣。
在彈出的窗口中選擇MVC 5 控制器 - 空。點擊確定。之后輸入控制器的名字FirstController,然后點擊確定。
VS會在Controller文件夾中創建FirstController.cs文件,這就是我們創建的第一個控制器。如下圖所示。
將以下代碼寫入FirstController.cs文件
using System.Web.Mvc; namespace SlarkInc.Controllers { public class FirstController : Controller { // // GET: /First/ public string Index() { return "<h1>This is index page</h1>"; } } }
這里的FirstController就是一個控制器,控制器里的方法叫做動作(Action),這里的控制器就包含了一個叫做Index的Action。這個Action可以向瀏覽器發送一個字符串,瀏覽器會顯示這個字符串。
編譯運行整個項目。瀏覽器窗口會顯示主頁,如下圖。
在主頁的url后面加上First/,然后按回車請求頁面。就會看到FirstController控制器的Index Action返回的字符串。如下圖所示。
然后在這個路徑后面再加上index/,按回車請求頁面。依然是FirstController控制器的Index Action返回的字符串。如下圖所示。
那么問題來了,通過url來訪問Controller及其Action是怎樣定義的呢?
這是通過路由來定義的。路由(route)將會在下一節講到,敬請期待。