即使我没有指定它们,MVC视图也会显示_Layout

时间:2015-09-17 16:05:49

标签: razor asp.net-mvc-5

也许我只是度过了糟糕的一天。

即使我没有指定布局,MVC视图似乎也显示_Layout.cshtml。它是否在某个地方违约?

有问题的页面是我的KeywordAdmin.cshtml部分视图,它看起来像这样(这是完整的文件):

<div class="form-horizontal">
    <div class="row">
        <div class="col-md-3">
            Test column 1
        </div>
        <div class="col-md-4">
            Test column 2
        </div>
        <div class="col-md-5">
            Test column 3
        </div>
    </div>
</div>

当我导航到localhost / Keyword / KeywordAdmin时,我看到_Layout.cshtml中定义的页眉和页脚。如果我想要它使用该布局,我会指定它。

1 个答案:

答案 0 :(得分:0)

布局系统可以帮助您保持统一。根据您的陈述,您似乎不愿意利用它,您也可以这样做。

查看Views文件夹中的_ViewStart.cshtml。

如果KeywordAdmin.cshtml位于子文件夹中,则该文件夹中可能还有另一个_ViewStart.cshtml优先。

如果设置Layout =&#34;&#34 ;;你没有布局。如果KeywordAdmin.cshtml只是一个奇怪的项目,它不应该使用您的正常布局,建议添加到KeywordAdmin.cshtml的顶部:

@{ 
   Layout = ""; 
} 

如果您想以符合之前预期的方式利用MVC,我建议您在_ViewStart.cshtml的顶部进行设置:

@{
  Layout = ""; // most likely "~/Views/Shared/_Layout.cshtml" right now
} 

然后在您希望利用布局的任何页面上添加:

@{ 
   Layout = "~Views/Path.../LayoutName.cshtml"; 
}