2014年5月26日 星期一

Razor 多區段版面配置頁面 RenderSection( )

若Layout中有多區段內容需替換,需採用RenderSection( ) 來進行處理。

範例下載:

在內容網頁中,需進行定義如下所示。


  1. 需指定Layout檔案位置。
  2. 需定義標籤名稱與內容。
  3. @RenderSection( ) 增加第二個參數為布林值,可判斷是否內容部分的該區段一定要傳值到Layout這裡。 範例:@RenderSection("header",true);
  4. IsScetionDefined( )判斷是否該值是否有傳值過來。 範例:IsScetionDefined( "header")



內容部分:


@{Layout = "~/Layout/_Layout.cshtml";}
@section header{<h1>我是標題</h1>}
@section footer{<h1>我是頁尾</h1>}
<p>ABC123</p>


Layout部分:

<div id="content">
        <header>
           @RenderSection("header");
            <nav>
                <ul>
                    <li>首頁</li>
                    <li>購物</li>
                    <li>關於</li>
                </ul>
            </nav>
        </header>
        <section>
            @RenderBody()
        </section>
        <footer>
            @RenderSection("footer")
        </footer>
    </div>

沒有留言:

張貼留言