我有一個現有的項目,並在新的頁面上我想包括新版本的JavaScript庫,而不會破壞其他頁面,如果庫不向後兼容。如何在ASP.NET的某些頁面切換到新版本的JavaScript庫mvc
達到此目的的最佳方法是什麼?我想能夠設置一個變量,如:useBootStrapCss2或類似的東西來使用新的庫。
目前通過使用包含在主共享佈局頁面(名爲Assets)中的共享部分來包含庫。
我預見到的問題是,如果變量設置在視圖的頂部,變量將不在共享視圖的範圍內,因此將無法切換到使用正確的Assets部分。
我有一個現有的項目,並在新的頁面上我想包括新版本的JavaScript庫,而不會破壞其他頁面,如果庫不向後兼容。如何在ASP.NET的某些頁面切換到新版本的JavaScript庫mvc
達到此目的的最佳方法是什麼?我想能夠設置一個變量,如:useBootStrapCss2或類似的東西來使用新的庫。
目前通過使用包含在主共享佈局頁面(名爲Assets)中的共享部分來包含庫。
我預見到的問題是,如果變量設置在視圖的頂部,變量將不在共享視圖的範圍內,因此將無法切換到使用正確的Assets部分。
說實話,我不會去設置變量的腳本切換版本的路線。從長遠來看,這可能會變得非常混亂。
你有幾個乾淨的(呃)選項。
創建一個單獨的佈局,基本上是您的第一個佈局的克隆,但與更新的腳本。爲新頁面使用此佈局,同時緩慢遷移現有頁面。
該選項避免了頭痛的條件邏輯,但是......現在意味着您有兩個佈局頁面要維護。這可能不是什麼大問題,但如果舊的佈局會長時間存在,這可能是一個壞主意。
使用默認內容在佈局頁面上創建一個內容區域。
@if (IsSectionDefined("ScriptReferences")){
@RenderSection("ScriptReferences")
}
else {
<script src="blah.js"></script>
}
這是一個非常靈活的選項,允許您覆蓋在每個頁面的基礎。可能還有其他選擇,但這些是我能想到的最好的。