2011-06-17 29 views
2

我已經創建了一個頁腳部分中我的asp.net MVC 3 Web應用程序的所有視圖的一部分:定義爲

<footer> 
    @RenderSection("Footer", true) 
</footer> 

這頁腳將每一頁上是相同的,所以也沒有對於我來說,爲每個視圖定義它是有意義的。那麼,有什麼辦法可以在全球範圍內爲所有視圖聲明此頁腳部分?腳本將包含代碼,據我所知,這是不好的做法,如果不是不可能的話,直接在.cshtml文件中定義它。

預先感謝您。

回答

4

我已通過創建局部視圖「_Footer」並將其放在「_Layout」上來處理相同的場景。

@ ViewBag.Title

@ Html.Partial( 「_頭」)

<div id="content"> 
    <div id="nav-bar"> 
     @Html.Partial("_Menu") 
    </div> 

    <div class="container"> 
    @RenderBody() 
</div> 
</div> 
<div id="footer"> 
    @Html.Partial("_Footer") 
</div> 

@Html.Partial("_Scripts") 

+0

謝謝。這正是我所期待的。 – Jonathan

2

Sure

<footer> 
    @if (IsSectionDefined("footer")) 
    { 
     @RenderSection("footer") 
    } 
    else 
    { 
     ... put your default footer here 
    } 
</footer> 

而在這要覆蓋頁腳簡單地定義了部分意見。

+0

達林嗨,我們可以使用@RenderAction如HTTP定義://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx –

0

您可以將腳註放入您的SiteLayout.cshtml。有關在MVC 3中使用佈局的更多信息,請參閱this article