1.理解控制器
MVC控制器負責響應對ASP.NET MVC網站發起的請求。
每一個瀏覽器請求都映射到了一個專門的控制器。舉個例子,設想一下你在瀏覽器地址欄輸入了下面的URL:http://localhost/product/index
意思是將會調用ProductController的控制器。ProductController負責生成對瀏覽器請求的響應。舉個例子,控制器可能會返回一個特定的視圖,或者是將用戶重定向到另一個控制器。
一個控制器是一個繼承自System.Web.Mvc.Controller基類的類。因爲控制器繼承自這個基類,所以控制器輕鬆地繼承了一些有用的方法(我們不久將會討論這些方法)。
2. 理解控制器動作和動作結果
ASP.NET MVC框架支持六種標準類型的動作結果:
- ViewResult – 代表HTML及標記。
- EmptyResult – 代表無結果。
- RedirectResult – 代表重定向到一個新的URL。
- RedirectToRouteResult – 代表重定向到一個新的控制器動作。
- JsonResult – 代表一個JSON(Javascript Object Notation)結果,它可以用於AJAX應用程序。
- ContentResult – 代表着文本結果。
所有這些動作結果都繼承自ActionResult基類。但是通常情況下,並不直接返回一個動作結果。而是調用Controller基類的下列方法之一:
- View – 返回一個ViewResult結果。
- Redirect – 返回一個RedirectResult 動作結果。
- RedirectToAction – 返回一個RedirectToAction動作結果。
- RedirectToRoute – 返回一個RedirectToRoute動作結果。
- Json – 返回一個JsonResult動作結果。
- Content – 返回一個ContentResult動作結果。