MVC中的@section


在前文《MVC中 _ViewStart _Layout Index三個頁面中的加載順序》 中另外指定母版頁 Layout.cshtml時...遇到了這個問題..

報錯:  

以下各節已定義,但尚未為布局頁“~/Views/Shared/Layout2.cshtml”呈現:“BreadCrumb; TailJS”。

后來發現在Index.cshtml中..出現了這些片段

@section BreadCrumb
{ 
    <ul class="breadcrumb">
        <li><i class="icon-home"></i>控制台<span class="divider">&raquo;</span></li>
        <li>@Html.ActionLink("首頁","Index","Home")<span class="divider">&raquo;</span></li>
        <li>@Html.ActionLink("數據概述","Index","Home")</li>
    </ul>

}

@section TailJS
{
    <script src="/Content/creative/plugins/pnotify/jquery.pnotify.min.js"></script>
}

經過查詢知道..在目標頁中的  @section 所描述的代碼片段..是要加載到母版頁中的 @RenderSection("描述名") 位置上的..

而我在新建的母版頁中並沒有這般接收..所以報錯 未為布局頁呈現..

那么就需要在母版頁的對應位置上寫入

@if (IsSectionDefined("描述名"))  //該值指示是否在頁中定義了指定部分
{
    @RenderSection("描述名")  //將呈現指定部分的內容
}

先判斷目標頁中是否要加載這些片段..再加載..

運行..通過..


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM