1

我有一个 ASP.NET MVC 解决方案,我在其中使用 MasterPage,如下所示:

<div class="wrapper">
    <div id="header">
        <div class="content">
            <div id="contentBody">
                <div id="mainMenu">
                    @Html.Raw(@Html.MainMenu())
                </div>
                 @Html.Raw(@Html.Partial("LoginStatusPartial"))
            </div>
        </div>
    </div>
    <div id="mainContent">
        <div id="page">
            @Html.Partial("LoginPartial")
            @RenderBody()
        </div>
        <div id="rightPanel">
            &nbsp;
        </div>
        <div style="clear:both;"></div>
    </div>
    <div class="push"></div>
</div>
<div id="footer">
    <div class="content">
        foot [sitename]&nbsp;
    </div>
</div>

现在我需要在 rightPanel 中放置一个用户控件,这仅适用于特定页面。

这可能吗?如果是这样怎么办?

4

2 回答 2

2

您可以使用部分:

<div id="rightPanel">
    @RenderSection("RightPanel", required: false)
</div>

然后在需要将某些内容放入本节的视图中可以定义它:

@section RightPanel {
    <div>@Html.Partial("SomeRightPanel")</div>
}
于 2013-03-16T18:23:21.147 回答
0

是的。在你的主人中使用以下内容:

<div id="rightPanel">
    @RenderSection("Name")
</div>

或者,如果您只想显示右侧面板,如果您在视图中提供内容,请使用:

@if (IsSectionDefined("Name")) {
<div id="rightPanel">
    @RenderSection("Name")
</div>
}

并在您的视图中使用它:

@section Name {
    Content
}
于 2013-03-16T18:23:09.903 回答