[英]MVC4 partial view javascript bundling Issue
我正在使用visual studio 11開發一個項目ASP.net 4,MVC4(RC)。我正在嘗試渲染一個呈現局部視圖的MVC4 Razor視圖。 我的部分視圖需要一些JavaScript。 在我的部分視圖中,當我在腳本部分中包含我的javascript,如下所示它似乎沒有加載。
@section Scripts {
<script type="text/javascript">
$(function () {
alert("test");
});
</script>
}
如果我刪除腳本部分它失敗,因為當文檔就緒代碼運行時,jquery庫(在我的_Layout.cshtml頁面上捆綁並呈現)尚未加載。
<script type="text/javascript">
$(function () {
alert("test");
});
</script>
_Layout Page代碼加載jquery庫
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
有沒有人知道這個解決方案,還是我只是錯誤的方式? 它破壞了我的頭!
不要將您的腳本包裝在partial.ready中的document.ready
中:
@section Scripts {
<script type="text/javascript">
alert("test");
</script>
}
啊,不要把腳本放在局部。 Javascript代碼應放在單獨的javascript文件中。 如果你想在加載部分時執行一些javascript,你只需將這個腳本外部化為一個可重用的函數/插件,你可以在部分加載后調用它。
終於有了這個工作。 我從部分視圖中刪除了我的javascript並將其放在腳本部分的父視圖(不是部分的)中。這個腳本部分是在創建帶有腳手架(Create)的視圖時自動創建的,並且放在了頁。 為了實現這個功能,我必須將它移到頁面頂部 - 在調用渲染部分之前。
ClientDependency正好解決了這個問題,並允許您將腳本引用添加到部分視圖中,這些部分視圖將匯總並放置在頁面末尾(或指定的任何位置)。 它還逐頁處理捆綁,版本控制和縮小。
確保腳本引用的開銷是在“父”視圖而不是部分視圖上並沒有真正打擾我,但如果你有大量的部分需要他們自己的腳本和CSS,那么Client Dependency可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.