ASP.NET MVC,_ViewStart.cshtml内容

时间:2012-11-13 22:12:10

标签: asp.net

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

<div>SHOW THIS</div>

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

当呈现页面时,我希望“显示此内容”在_Layout.cshtml页面中的上面显示内容,而是“显示此内容”出现在下面 _Layout.cshtml页面中的内容。

这是对的吗?如果没有,任何想法为什么会发生这种情况?你能建议如何让它显示在_Layout.cshtml内容之上吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

布局:

@RenderSection("aboveSection", required: false)

然后在你看来:

@section aboveSection{
    <div>SOME CONTENT</div>
}

答案 1 :(得分:0)

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

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