【问题标题】:How does a view know which layout to use? Where is the default?视图如何知道要使用哪种布局?默认在哪里?
【发布时间】:2012-04-18 00:17:30
【问题描述】:

在默认的 mvc 应用程序中。有布局页面和内容页面,你懂的(_Layout、Home、Contact等)

并且内容页面不包含这样的布局引用:

Layout = "~/Views/Shared/_Layout.cshtml";

在内容页面中缺少此代码。 但它们有效。如果没有布局参考,它是如何做到这一点的?

【问题讨论】:

    标签: asp.net-mvc layout razor


    【解决方案1】:

    因为您的_ViewStart.cshtml 包含对默认布局的引用,当视图中未说明特定布局时将使用该默认布局。

    当您想要更改单个视图的布局时,您可以在该视图中包含 Layout = "...";

    【讨论】:

    • 这意味着,如果我不定义布局,使用默认?
    • 它的约定优于配置。
    【解决方案2】:

    如果您想要特定于文件夹的布局,即(主页、帐户、产品等),您可以将 _ViewStart.cshtml 放在该文件夹中并指出要在该文件中使用的任何布局,它将覆盖根级布局。

    查找 ScottGu 的博客以获取有关布局和部分的更多详细信息 herehere

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      相关资源
      最近更新 更多