iT邦幫忙

0

C# MVC中 局部視圖中引用JS或CSS疑問。

在寫局部View時,我看到有些同事代碼風格如下:

@section header{  
  ...  
}  
@section scripts{  
..  
}  

而有些就直接

<script type="text/javascript">  
...  
</script>  

我總覺得 @section scripts 這種寫法肯定有什麼優勢,要不然沒必要這樣設計,請問各位大大原因,非常感謝。

http://www.cnblogs.com/willick/p/3410855.html 關於 @section 看一下它的應用觀念
vij78328 iT邦新手 5 級 ‧ 2018-03-08 11:20:25 檢舉
謝謝你

1 個回答

2
暐翰
iT邦大師 5 級 ‧ 2018-03-08 11:08:42
最佳解答

核心概念:
RenderSection跟section配合layout
主要目的在 "布局"

舉例:
index.cshtml layout使用_Layout.cshtml
index.cshtml內容:

<script>
    console.log($(".class"));
</script>>
@section Script{
    <script>
        console.log($(".class"));
    </script>>
}

_Layout.cshtml內容:

...
<body>
...
        <script src="~/Scripts/jquery-1.10.2.min.js"></script>
        <script src="~/Scripts/bootstrap.min.js"></script>
        @RenderSection("Script", required: false)
</body>

這時候運行會發現明明都是"console.log($(".class"))"(圖2,3),
為什麼沒包在Script section的console(圖2)會錯誤

因為"先後順序問題"
前者還沒有使用jquery.js,而後者使用section可以讓我們自由的決定要把網頁內容放在Layout任意位置


不只css、js,其他html擺設也可以應用這原理
達到靈活應用 :)

vij78328 iT邦新手 5 級 ‧ 2018-03-08 11:20:13 檢舉

thx!

我要發表回答

立即登入回答