控制器

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动作结果。






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