ASP.NET MVC之视图引擎

  最近微软发布了另外一个在ASP.NET MVC上应用的视图引擎Razor。通过前面一系列的探讨,我想大部分都了解了ASP.NET MVC整个的原理,包括TempData、ViewData、ModelBinding、Filter等,但是我们还不是太了解它的视图引擎的情况。ASP.NET MVC的视图引擎具有非常好的扩展性,我们可以使用其它的视图引擎代替WebForm,或是同时使用多种试图引擎,这些都得益于ASP.NET MVC精美的设计,下面我们一起来观赏一下它的设计。

  内容概览

  ActionResult做了什么?

  讲到视图引擎,不得不说ActionResult,因为在Controller中,我们看不到一点视图引擎的影子,唯一提供线索的只有ActionResult,所以我们必须先从AcionResult下手。

  下面是ASP.NET MVC提供的所有的ActionResult类型的类图:

  这其中用的最多的是ViewResult,ActionResult有一个抽象方法ExecuteResult,这个方法会向用户的请求中写入要输出的内容,比如Response.Write等操作。

  最具代表性的ViewResult

  在ASP.NET MVC中,ViewResult用的最多,Controller有一个View方法,它来实例化一个ViewResult对象,并返回。下面是View方法:

protected internal virtual ViewResult View(string viewName, string masterName, object model) {
if (model != null) {
ViewData.Model
= model;
}

return new ViewResult {
ViewName
= viewName,
MasterName
= masterName,
ViewData
= ViewData,
TempData
= TempData
};
}

NET技术ASP.NET MVC之视图引擎,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。