【发布时间】:2021-05-17 12:51:44
【问题描述】:
假设我有一个名为“_Layout.cshtml”的部分布局和一个名为“Sidebar.cshtml”的侧边栏,它们都位于“/Views/Shared”中。 我有几个页面,例如登录、索引、帐户维护、管理课程等。 我想让“Sidebar.cshtml”出现在“Account Maintenance.cshtml”和“Manage Course.cshtml”中,但“Index.cshtml”和“Login.cshtml”不应该出现在“Sidebar.cshtml”中。
我已经测试在“_Layout.cshtml”中实现了@RenderSection,但它没有呈现,我知道“_Layout.cshtml”是部分视图。在这种情况下,我怎样才能实现我试图实现的假设。
图片说明:“左栏”标识为“侧边栏” P/S:.NET Core 新手
_Layout.cshtml 的代码
<div class="container">
<main role="main" class="pb-3">
@RenderSection("sidebar", false)
@RenderBody()
</main>
</div>
Sidebar.cshtml 的代码
@{
Layout = "_Layout.cshtml";
}
@section sidebar{
<nav class="col-md-2 d-none d-md-block bg-light sidebar">
<div class="sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item nav-link">
<img src="https://facebook.com/static/logo/cs_logo.png?v=1" class="rounded-circle" style="height: auto; max-width: 100%">
</li>
<li class="nav-item nav-link">
Role: <br><strong>22</strong>
</li>
<li class="nav-item nav-link">
Name:<br><strong>23qe</strong>
</li>
<li class="nav-item nav-link">
User ID:<br><strong>324eef</strong>
</li>
<li class="nav-item nav-link">
Last online:<br><strong>dsffsdf</strong>
</li>
</ul>
</div>
</nav>
}
【问题讨论】:
标签: c# asp.net layout asp.net-core-mvc