我正在使用ASP.NET Core 2.2。我的问题是我不知道在哪里使用
我的 _Layout 页面中的@RenderBody()
。这是我想做的事情的表示:
绿色部分应来自 _Layout ,白色部分应来自 HomePage.cshtml 。我的 HomePage 由一个滑块和下面的内容列表两部分组成。这是我尝试过的方法,但由于无法将滑块放入其中,因此无法满足我的需求。
这是 _Layout
<html>
<body>
<main>
<header></header>
<div class="left-col">
<div class="content">@RenderBody()</div>
<div class="right-col">
<footer></footer>
</main>
</body>
</html>
答案 0 :(得分:3)
您可以在布局中定义一个部分以呈现所需的内容
HomePage.cshtml
@{
ViewBag.Title = "Home Page";
}
@section Slider {
<div>My HomePage slider</div>
}
<p>My HomePage content</p>
布局将检查该部分是否存在,如果存在则进行渲染
_Layout.cshtml
<html>
<body>
<main>
<header></header>
@if (IsSectionDefined("Slider")) {
<div class="homepage-slider">
@RenderSection("Slider", required: false)
</div>
}
<div class="left-col">
<div class="content">@RenderBody()</div>
<div class="right-col">
<footer></footer>
</main>
</body>
</html>
您显然必须指定将样式放置在所需位置所需的样式。