仅当用户在特定页面上时才显示部分

时间:2016-12-15 00:43:36

标签: html asp.net-mvc razor

我有一个主布局页面,左侧是菜单栏,显示其他页面的链接。当用户在该布局中的特定页面上时,我试图在左边的菜单栏下包含部分内容。

Here is another question that is asking for pretty much the same thing.

该问题的问题是答案已超过五年,过时的<% %>语法在我的网站中无效。

在使用常规@Html.Partial语法时,有没有办法做同样的事情?

1 个答案:

答案 0 :(得分:1)

在页面布局中,您要包含侧栏:

<div id="header">
</div>

@RenderSection("Sidebar", false)

<div id="content">
    @RenderBody()
</div>

<div id="footer">
</div>

false表示它不是必填部分,因此不需要包含它的网页。

现在要显示该部分,只需将其添加到需要显示的页面底部,同一布局中的其他页面将不会显示此部分:

<h2>This is a page</h2>

@section Sidebar {
   <div id="sidebar">
       your sidebar....
   </div>
}

您的完整html会显示带有侧边栏的内容:

<div id="header">
</div>

<div id="sidebar">
    your sidebar....
</div>

<div id="content">
    <h2>This is a page</h2>
</div>

<div id="footer">
</div>

和其他页面只是:

<div id="header">
</div>

<div id="content">
    <h2>This is another page</h2>
</div>

<div id="footer">
</div>