控制器

1.理解控制器

MVC控制器負責響應對ASP.NET MVC網站發起的請求。

每一個瀏覽器請求都映射到了一個專門的控制器。舉個例子,設想一下你在瀏覽器地址欄輸入了下面的URL:http://localhost/product/index

意思是將會調用ProductController的控制器。ProductController負責生成對瀏覽器請求的響應。舉個例子,控制器可能會返回一個特定的視圖,或者是將用戶重定向到另一個控制器。


一個控制器是一個繼承自System.Web.Mvc.Controller基類的類。因爲控制器繼承自這個基類,所以控制器輕鬆地繼承了一些有用的方法(我們不久將會討論這些方法)。

2. 理解控制器動作和動作結果

控制器動作返回一種叫做動作結果(ActionResult),就是返回給瀏覽器結果的東西。
一個控制器動作必須是控制器類的一個公共方法。C#方法,默認時,是私有方法。意識到你添加到控制器類中的任何公共方法都會自動被暴露爲控制器動作(你必須非常小心,因爲控制器動作可以被全球的任何人調用,僅僅簡單地通過在瀏覽器地址欄輸入正確的URL)。

ASP.NET MVC框架支持六種標準類型的動作結果:

  1. ViewResult – 代表HTML及標記。
  2. EmptyResult – 代表無結果。
  3. RedirectResult – 代表重定向到一個新的URL。
  4. RedirectToRouteResult – 代表重定向到一個新的控制器動作。
  5. JsonResult – 代表一個JSON(Javascript Object Notation)結果,它可以用於AJAX應用程序。
  6. ContentResult – 代表着文本結果。

所有這些動作結果都繼承自ActionResult基類。但是通常情況下,並不直接返回一個動作結果。而是調用Controller基類的下列方法之一

  1. View – 返回一個ViewResult結果。
  2. Redirect – 返回一個RedirectResult 動作結果。
  3. RedirectToAction – 返回一個RedirectToAction動作結果。
  4. RedirectToRoute – 返回一個RedirectToRoute動作結果。
  5. Json – 返回一個JsonResult動作結果。
  6. Content – 返回一個ContentResult動作結果。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章