Controller是MVC中比较重要的一部分。几乎所有的业务逻辑都是在这里进行 处理的,并且从Model中取出数据。在ASP.NET MVC Preview5中,将原来的 Controller类一分为二,分为了Controller类和ControllerBase类。Controller 类继承自ControllerBase类,而ControllerBase实现是了IController接口。
ControllerBase实现了IController接口的Execute方法,在Route匹配到 Controller之后,就会调用Execute方法来进入Controller的处理。这里还定义了 一个抽象的方法ExecuteCore方法,该方法会在Execute方法的最后被调用。 ControllerBase还定义了三个核心的属性。我们在后面会详细讨论TempData和 ViewData。
Controller类除了继承自ControllerBase类以外,还实现了好 几个Filter接口,Filter我们在后面再详细讨论。
public abstract class Controller : ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable, IExceptionFilter, IResultFilter{ }
Controller类还定 义很多有用的方法,我们新建的Controller都必须继承自这个Controller类。例 如我们新建一个AdminController:
public class AdminController : Controller
{
}
Action方法
下面谈一下在Controller中比较重要的Action方法。在ASP.NET MVC中URL 都是映射到Controller中的某个Action中,然后由匹配的Action来处理我们的业 务逻辑并返回view的。
Controller中的public的方法都被当作是Action方 法。Action方法通常返回一个ActionResult的结果。例如我们为前面的 AdminController定义一个Setting的Action方法,用于设置Blog的一些基本参数 :
public class AdminController : Controller{ public ActionResult Setting() { throw new NotImplementedException(); }}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索接口
, action
, controller
, 方法
, public
, controller类
一个
,以便于您获取更多的相关知识。