2014-04-27 82 views

回答

1

好的,所以在挖了一些东西之后,这就是我想要发生的事情。请纠正我,如果我错了:

ViewResult正在处理,动作调用将检索这个被安装的视图引擎并调用它们的FindView方法。视图引擎会在内部将视图的请求转换为ViewEngineResult对象。 ViewEngineResult对象返回View(如果存在)或它已搜索到适当视图的位置列表。

如果视图引擎是Razor,那么对视图的请求将被映射到其路径被编码到类名中的已编译类的实例中。这些类是从WebViewPage<T>类派生的,并覆盖WebViewPage类的Execute方法。对于其他元素,通过Execute方法中的WriteLiteral方法针对Write方法处理HTML元素。 WriteLiteralWrite方法将内容传递给TextWriter对象,然后传递给IView.Render方法。 MVC框架调用render方法,并通过render方法的参数TextWriter将输出写入客户端。

0

其中一个层次,为这部分代码编写模拟变得容易得多。此外,视图可以是实现IView的任何视图,允许定制视图以及可能定制的视图引擎。如果需要的话,它为使用框架的开发人员提供了更高的灵活性。