簡體   English   中英

jQuery 加載新視圖然后加載部分視圖

[英]jQuery to load new view and then load partial view

我有一個 asp.net MVC 視圖。 單擊此視圖的按鈕應將用戶重定向到另一個視圖。 第二個視圖是用很少的局部視圖構建的。 其中一個局部視圖需要很長時間才能加載,所以我不希望頁面加載產生這種開銷,我希望該局部視圖在 ajax 調用上運行,以便它可以異步運行。 但是在重定向時,我想用其他部分視圖返回第二個視圖。 請為此提出一個解決方法。

 $(document).on('click', '#buttonClick', function () {
    window.location = '/some/someAction?id=123';
     $.ajax ({
        type: 'GET',
        url: '/some/LoadPartialView?id=123',

        success: function(data){
             $('#timeTakingPartialView').html(data);

        }
    });

});

Window.location 在 ajax 調用后重定向到第二個視圖。 所以重新加載是跳過ajax調用。

如果我理解正確,您想在調用主視圖之前加載該部分視圖。 我不認為這是可能的。 我建議在第二個視圖上添加這個局部視圖“延遲”加載。 因此,對於第一個視圖,您只需要添加按鈕單擊事件:

$(document).on('click', '#buttonClick', function () {
    window.location = '/some/someAction?id=123'; 
});

當您定位到第二個視圖 (someAction) 時,您可以在加載 DOM 時加載就緒事件:

$(document).ready(function () {
     $.ajax ({
        type: 'GET',
        url: '/some/LoadPartialView?id=123',

        success: function(data){
             $('#timeTakingPartialView').html(data);
        }
    });
});

因此,緩慢的局部視圖的加載將被分離。

暫無
暫無

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

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