我们正在使用ASP.NET MVC 4/5开发一些Web应用程序。该公司是MVC的新手,但创建了一些WebForms应用程序。我的问题是,与WebForms开发中使用的模板最接近的是什么?我甚至都不知道什么。代替模板概念,您如何控制/确保团队中的每个人保持相同的布局? CSS可以用于颜色和排版,但布局和非CSS呢?
答案 0 :(得分:0)
我们使用Razor Layouts,Scott Gu有一个很棒的系列here:
答案 1 :(得分:0)
Razor使用“布局”。它们只是视图(.cshtml
/ .vbhtml
文件),其中至少有一段代码@RenderBody()
,这是使用布局放置视图的渲染内容的位置。其他所有内容都是可选的,尽管使用@RenderSection("SectionName", true/false)
实现“部分”是很常见的,其中true
值表示需要部分(必须在调用此布局的视图中定义)和{{{ 1}}值表示它是可选的。然后,您的视图将使用以下方式实现该部分:
false
默认情况下,视图将使用@section SectionName
{
<!-- something here -->
}
中定义的布局,但您可以通过在视图中明确指定布局来使用其他内容:
Views\Shared\_Layout.cshtml
或者将@{
Layout = "~/Views/Shared/_MyAwesomeLayout.cshtml";
}
与该代码放在您希望它应用于的视图目录中。然后,该目录及其中所有子目录中的视图将使用该布局,除非它们具有自己的显式布局或它们所在的子目录具有自己的_ViewStart.cshtml
文件。
布局也可以从其他布局继承,但是它们必须重新定义原始布局中的任何部分,以便将它们暴露给视图。例如:
<强>视图\共享\ _Layout.cshtml 强>
_ViewStart.cshtml
<强>视图\共享\ _FooLayout.cshtml 强>
<html>
<body>
@RenderBody()
@RenderSection("Scripts", false)
</body>
</html>