使用ASP.NET MVC将usercontrol放在主页面上的当前页面之外?

时间:2013-03-16 18:20:01

标签: asp.net html asp.net-mvc razor master-pages

我有一个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>

现在我需要在userPanel中放置一个usercontrol,这只适用于特定页面。

这可能吗?如果是这样的话?

2 个答案:

答案 0 :(得分:2)

您可以使用以下部分:

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

然后在需要在本节中添加内容的视图中定义它:

@section RightPanel {
    <div>@Html.Partial("SomeRightPanel")</div>
}

答案 1 :(得分:0)

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

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

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

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

并在您的观看中使用它:

@section Name {
    Content
}