3

在我的 ASP.NET MVC 应用程序中,在我的_ViewStart.cshtml文件中,我有如下代码 -

<div>SHOW THIS</div>

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

呈现页面时,我希望“SHOW THIS”显示在 _Layout.cshtml 页面的内容上方,但“SHOW THIS”显示在 _Layout.cshtml 页面的内容下方

它是否正确?如果没有,知道为什么会发生这种情况吗?你能建议如何让它显示在 _Layout.cshtml 内容之上吗?谢谢!

4

2 回答 2

3

布局将首先加载,内容将插入到布局的渲染内容部分。如果您希望在此视图的布局中出现某些内容,您可以尝试在控制器中设置一个 ViewBag 对象,然后在布局中检查该 ViewBag 对象。

或者您可以在布局中使用可选部分,然后在视图中定义它:

在布局中:

@RenderSection("aboveSection", required: false)

那么在你看来:

@section aboveSection{
    <div>SOME CONTENT</div>
}
于 2012-11-13T22:19:22.660 回答
0

这是预期的行为。“_Layout.chshtml”行仅指定您将使用哪个父模板。

要重新排列内容,请在 _Layout.cshtml 中进行调整并记下@RenderBody()位置。

于 2012-11-13T22:20:02.693 回答