2012-06-13 31 views
0

MVC不同的頭我有這樣的_Layout.cshtml每個視圖

<body> 
    <div id="wrapper"> 
<div id="header-wrapper"> 
    <div id="header"> 
     <div id="logo"> 
       //SOME LOGO LOGIC 

     </div> 
    </div> 
    <div id="menu-wrapper"> 

     //SOME MENU LOGIC 

    </div> 
    <!-- end #menu --> 
    <div id="banner"> 
     <div id="slider"> <a href="#" class="button previous-button">&lt;</a> <a href="#" class="button next-button">&gt;</a> 
      <div class="viewer"> 
       <div class="reel"> 
        <div class="slide"> 
         <h2>Stallen..</h2> 
         <p>Her kan du skrive noe tekst</p> 
         <a class="link" href="~/horse/riversidestar">Full story ...</a><img src="~/images/img01.jpg" width="900" height="350" alt="" /></div> 
        <div class="slide"> 
         <h2>Riverside Star i naturen</h2> 
         <p>Her kan du skrive noe tekst</p> 
         <a class="link" href="~/horse/riversidestar">Full story ...</a><img src="~/images/img02.jpg" width="900" height="350" alt="" /></div> 
       </div> 
      </div> 
      <div class="indicator"> 
       <ul> 
        <li class="active">1</li> 
        <li>2</li> 
       </ul> 
      </div> 
     </div> 
     <script type="text/javascript">//SOME SCRIPT</script> 

    </div> 
</div> 

<div id="page"> 
    <div id="content"> 
     @RenderBody() 

    </div> 

    <div id="sidebar-bg"> 
     <div id="sidebar"> 
      <h2>Nyheter</h2> 
      @{Html.RenderAction("ShortNewsList", "News");} 
     </div> 
    </div> 

    <div style="clear: both;">&nbsp;</div> 
</div> 

眼下,它只有在每看法不同的renderBody部分。我怎樣才能改變id爲旗幟的DIV的內容,當我去到不同的視圖

當我嘗試將其添加另一種觀點認爲,這將偏離軌道在佈局非常錯誤

回答

5

你可以使用Razor sections。在佈局定義部分:

@RenderSection("Banner", required: false) 

,並在您的視圖覆蓋此部分:

@section Banner { 
    ... contents of the banner specific to that view 
} 

你也可以定義一個默認的旗幟,這樣就不需要在每個視圖重寫:

@if (!IsSectionDefined("Banner")) 
{ 
    ... put the default banner contents here 
} 
else 
{ 
    @RenderSection("Banner", required: true) 
} 
+0

非常感謝你..真的很容易! – espenk