在我的ASP.NET MVC应用程序中,在我的 _ViewStart.cshtml 文件中,我有以下代码 -
<div>SHOW THIS</div>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
当呈现页面时,我希望“显示此内容”在_Layout.cshtml页面中的上面显示内容,而是“显示此内容”出现在下面 _Layout.cshtml页面中的内容。
这是对的吗?如果没有,任何想法为什么会发生这种情况?你能建议如何让它显示在_Layout.cshtml内容之上吗? 谢谢!
答案 0 :(得分:3)
首先加载布局,然后将内容插入布局的渲染内容部分。如果要在此视图的布局中显示某些内容,可以尝试在控制器中设置ViewBag对象,然后在布局中检查该ViewBag对象。
或者您可以在布局中使用可选部分,然后在视图中定义它:
布局:
@RenderSection("aboveSection", required: false)
然后在你看来:
@section aboveSection{
<div>SOME CONTENT</div>
}
答案 1 :(得分:0)
这是预期的行为。 “_Layout.chshtml”行仅指定您将使用哪个父模板。
要重新排列内容,请在_Layout.cshtml中进行调整,并记下@RenderBody()
所在的位置。