在容器div之外的Html.Raw渲染

时间:2017-09-19 00:17:38

标签: html asp.net-mvc twitter-bootstrap twitter-bootstrap-3

我有一个使用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,但它在不同的位置呈现。

我做错了什么?

0 个答案:

没有答案