我有一个使用Bootstrap 3的ASP.NET MVC模板,如下所示:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
var menu = RenderSection("menu", required: false).ToHtmlString();
}
@section scripts{
@RenderSection("scripts", false)
}
<div class="row">
<div class="col-sm-3">
<div class="row">
<div class="col-lg-1"></div>
<div class="col-sm-12 col-lg-10">
@Html.Raw(menu)
@*@RenderSection("menu")*@
</div>
<div class="col-lg-1"></div>
</div>
</div>
<div class="col-sm-9">
@RenderBody()
</div>
</div>
原因是我想再次为内容下方的移动布局渲染菜单。
问题在于:如果我使用@RenderSection(在上面的代码中已注释掉),它可以按预期工作。如果我使用@ Html.Raw,菜单内容实际上会在顶级div之外呈现。
菜单变量包含完全相同的HTML,但它在不同的位置呈现。
我做错了什么?