我在asp.net MVC 3 Web应用程序中为页脚创建了一个部分:
<footer>
@RenderSection("Footer", true)
</footer>
这个页脚在每个页面上都是相同的,所以我为每个视图定义它都没有意义。那么,有什么方法可以全局声明所有视图的页脚部分?页脚将包含代码,因此据我所知,如果不是不可能的话,直接在.cshtml文件中定义它是不好的做法。
提前谢谢。
答案 0 :(得分:4)
我通过创建局部视图“_Footer”并将其放在“_Layout”上来处理相同的场景。
@ ViewBag.Title
@ Html.Partial( “_报头”)
<div id="content">
<div id="nav-bar">
@Html.Partial("_Menu")
</div>
<div class="container">
@RenderBody()
</div>
</div>
<div id="footer">
@Html.Partial("_Footer")
</div>
@Html.Partial("_Scripts")
答案 1 :(得分:2)
Sure:
<footer>
@if (IsSectionDefined("footer"))
{
@RenderSection("footer")
}
else
{
... put your default footer here
}
</footer>
在想要覆盖页脚的视图中,只需定义该部分。
答案 2 :(得分:0)
您可以将页脚放在SiteLayout.cshtml
中。有关在MVC 3中使用布局的详细信息,请参阅this article。