http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspx
通过帖子阅读后,似乎MVC团队正试图取代MasterPage功能。这段代码对我来说似乎更干净,我毫无疑问会使用它(MVC3正在下载,因为我发布此内容)。
您对此有何看法?我对Webforms没有太多经验,所以我不知道MasterPage的一些高级功能。
感谢分享!
答案 0 :(得分:3)
Razor是ASP.NET MVC 3中的新视图引擎,因为WebForms视图引擎并不总是最适合MVC,特别是单元测试 - 他们使用它是因为它存在。但它确实有效,ASP.NET WebForms继续使用它,许多ASP.NET MVC站点已经在使用它(因为这是MVC 1和2中唯一的“祝福”选项)。 Razor的“布局”与WebForms视图引擎中的“母版页”基本相同。
“替换”在这种情况下可能是一个强有力的词,因为WebForms视图引擎继续用于相关的,受支持的技术(WebForms; MVC没有取代WebForms); Razor只是MVC沿着NHaml或Spark的新选择。
如果你有使用WebForms视图引擎的现有MVC站点,我当然不会在Razor中重写它们。但对于新站点,它具有更好的语法,旨在独立于ASP.NET运行时运行,更好地使其可用于单元测试和其他场景(例如从模板生成电子邮件等)
希望稍微澄清一下。
答案 1 :(得分:3)
布局页面是母版页的Razor实现。
它们本质上是一回事,我所知道的唯一区别是布局页面支持可重复使用的助手(@helper)。
答案 2 :(得分:1)
但它只是一个剃刀的东西,不是吗?如果您决定使用Web窗体视图引擎,则仍需要常规ViewMasterPage。