Dar*_*mak 25 razor asp.net-mvc-3
我想在Razor中指定(在一个地方)默认布局页面,以便我可以删除它:
@{ LayoutPage = "~/Views/Shared/_Layout.cshtml"; }
Run Code Online (Sandbox Code Playgroud)
从我的每个.cshtml文件.但我不知道怎么......有什么想法吗?我正在使用ASP.NET MVC 3 Preview 1中的Razor引擎.
mig*_*elv 68
创建一个"〜/ Views/_ViewStart.cshtml"页面,内容如下:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
请注意,您可以在此处编写代码,因此可以根据目标设备的类型等更改布局.
现在默认情况下在空MVC3项目中创建.
在 MVC 3 Preview 1 中没有简单的方法可以做到这一点。这是预览位的限制,将在即将发布的版本中解决。遗憾的是,_init.cshtml
文件在 MVC3 预览版中不起作用,因此您无法遵循网页模式。
我可以想到两种方法来使其发挥作用(尽管都不是最佳方法)
@inherits
在每个视图中指定一个指令。View(string viewName, string masterName)
覆盖)。您可以编写一个中间控制器基类,它有一个辅助方法,可以省去到处重复布局的麻烦。