首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在MVC中处理设计模板?

如何在MVC中处理设计模板?
EN

Stack Overflow用户
提问于 2014-08-06 04:32:44
回答 2查看 42关注 0票数 0

我们正在开发一些使用MVCMVC4/5的ASP.NET应用程序。这家公司刚接触WebForms,但已经创建了一些web应用程序。我的问题是,与WebForms开发中使用的模板最接近的等价物是什么?我没有意识到任何接近的东西。代替模板概念,您如何控制/确保团队中的每个人都保持相同的布局?CSS可以用于颜色和排版,但是布局和非CSS又如何呢?

EN

回答 2

Stack Overflow用户

发布于 2014-08-06 04:36:23

我们使用Razor Layouts,Scott Gu有一个出色的系列here

票数 0
EN

Stack Overflow用户

发布于 2014-08-06 04:56:09

Razor使用“布局”。它们只是视图(.cshtml/.vbhtml文件),其中至少有一段代码,@RenderBody(),这是使用布局呈现的视图内容将被放置的位置。其他一切都是可选的,尽管使用@RenderSection("SectionName", true/false)实现"sections“是很常见的,其中true值表示secction是必需的(必须在调用此布局的视图中定义),而false值表示它是可选的。然后,您的视图使用以下内容实现该节:

代码语言:javascript
运行
复制
@section SectionName
{
    <!-- something here -->
}

默认情况下,视图将使用在Views\Shared\_Layout.cshtml中定义的布局,但您可以通过在视图中显式指定布局来使它们使用其他布局:

代码语言:javascript
运行
复制
@{
    Layout = "~/Views/Shared/_MyAwesomeLayout.cshtml";
}

或者将包含该代码的_ViewStart.cshtml放在要应用该代码的视图目录中。然后,该目录中的视图和其中的所有子目录都将使用该布局,除非它们有自己的显式布局,或者它们所在的子目录有自己的_ViewStart.cshtml文件。

布局也可以继承自其他布局,但它们必须重新定义原始布局中的任何部分,才能将它们显示在视图中。例如:

Views\Shared\_Layout.cshtml

代码语言:javascript
运行
复制
<html>
    <body>
        @RenderBody()
        @RenderSection("Scripts", false)
    </body>
</html>

Views\Shared\_FooLayout.cshtml

代码语言:javascript
运行
复制
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<p>Foo</p>

@RenderBody()

@section Scripts
{
    @RenderSection("Scripts", false)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25147796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档