2013-03-16 3 views
1

У меня есть решение ASP.NET MVC, где я использую MasterPage так:Поместите usercontrol за пределы текущей страницы на главной странице с помощью ASP.NET MVC?

<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> 

Теперь мне нужно поставить UserControl в rightPanel и это действительно применять только тогда, когда на определенной странице.

Возможно ли это? И если да, то как?

ответ

2

Вы можете использовать разделы:

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

, а затем внутри видов, которые нужно что-то положить в этот раздел, могут определить его:

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

Да. Используйте следующее в вашем мастера:

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

Или, если вы просто хотите, правая панель для отображения, если вы предоставляете содержание в Вашей точки зрения, использование:

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

И использовать его в своих взглядах с:

@section Name { 
    Content 
}