簡體   English   中英

用AJAX加載的Javascript和MVC4部分視圖

[英]Javascript and MVC4 partial views loaded with AJAX

我有一個ASP.NET MVC 4視圖,它通過JQuery AJAX調用動態地將兩個嵌套的部分加載到<div>元素中。 每個部分都有一大堆自己的Javascript。 為了使它全部正常工作,我目前擁有每個AJAX調用success的所有Javascript:

function LoadPartial(someImportantId) {
    $.ajax({
        url: '@Url.Action("LoadThePartial")' + '?id=' + someImportantId,
        type: 'POST',
        async: false,
        success: function (result) {
            $("#partialContainerDiv").html(result);
            //here there be great piles of javascript
        }
    });
}

由於這些部分中有兩個,每個需要數百行Javascript,因此主視圖文件變得難以管理。 我很樂意把所有這些腳本代碼放到一個單獨的.js文件中,但我仍然對Javascript很新,我非常依賴Chrome的腳本調試工具,而且我很難搞清楚如何(以及如果)我可以加載此腳本文件。 我試過了:

調試器中沒有腳本

  • 添加腳本包括主視圖。 這不起作用。 部分的Javascript都沒有正確附加,這在同步級別上是有意義的。

東西不起作用

有沒有辦法我可以為AJAX加載的部分單獨的Javascript文件,仍然能夠調試客戶端上的部分? 更重要的是,我在哪里將所有這些Javascript用於AJAX加載的部分視圖?

在主頁面中包含的函數中包含部分腳本; 在AJAX成功處理程序中調用該函數,在部分加載后執行腳本。

現在有一個解決方案可以將您的動態JS代碼放入主瀏覽器的Sources樹視圖中,這是使其可調試所需的全部內容。 加:

//# sourceURL=YOUR_FILENAME_OR_FULL_PATH_HERE

動態加載的局部視圖中<script>標記內的任何位置。 在我的實驗中,#之后的空格似乎是Chrome中的必需而不是Firefox,這基本上意味着它是必需的。

資料來源: https//developers.google.com/web/updates/2013/06/sourceMappingURL-and-sourceURL-syntax-changed以及其他一些Stack Overflow問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM