簡體   English   中英

ASP.NET MVC3使用Ajax更新div

[英]ASP.NET MVC3 Updating div with Ajax

我知道這個問題可能已經回答了200多次,並且我已經嘗試了所有可能的解決方案,在過去的2個小時中沖浪了stackoverflow,所以我想我會在這里解雇。

我有一個看起來像這樣的局部視圖。

@using DatabaseEntities;
@using NJNightLifePortal.Models;
@model NJNightLifePortal.Models.StatisticsViewModel
@foreach (var item in Model.RecentlyLiked)
{
<div class="resultbox1">
    @Html.ActionLink(item.Username, "profile", "account", new { id = item.Username }, null)
    has recently liked @Html.ActionLink(item.VenueName, "venueprofile", "venue", new { id = item.VenueId, albumId = Utils.GetVenueDefaultAlbumIdByVenueId(item.VenueId) })
</div>    
}

然后,我通過setTimeout對此調用jqery ajax函數,如下所示。

 $(function () {
        setTimeout(
            function () {
                setInterval(RefreshStats, 2000);
                RefreshStats();
            }, 3000);

        function RefreshStats() {
            $.get('@Url.Action("LatestActivities", "Statistics")', function (data, status) {
                console.log(data);
                $('.resultbox1').html(data);
            });

        }

我也嘗試過$.load$.ajax ..我也嘗試過document.getElementById(element).innerHTML = data; 而且我仍然得到相同的結果。 上述約定中的每個約定都可以在Firefoxchrome中很好地工作,但是無論我使用IE做什么,它要么以刷新空白結果結束,要么重新創建一個甚至不被部分視圖返回的全新div。

請詢問或請求我嘗試解決的任何問題,除非有必要,否則希望提供可靠的修補程序而不是hack修補程序。 我要做的就是檢索一些數據庫結果,並將它們顯示為部分視圖中格式化的結果,並返回到名為resultbox1的div中。

提前非常感謝您。

也許IE緩存了響應(這對於GET請求是正常的,只是IE在這方面更具攻擊性)。 嘗試的事情:

  • 用自定義[NoCache]屬性裝飾您的LatestActivities控制器操作
  • 使用POST請求:將$.get替換$.get $.post
  • $.get替換$.get $.ajax並設置cache: false選項

暫無
暫無

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

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