簡體   English   中英

MVC 4 Ajax沒有更新頁面中的PartialView

[英]MVC 4 Ajax is not updating the PartialView within the page

我正在使用MVC 4進行網站制作。這是一個列出音樂的網站,用戶可以創建播放列表(如購物車購物)。

我對每個音樂都有這個應該在Ajax中執行的動作鏈接:

@Ajax.ActionLink("Adicionar à Playlist","AddPlaylist", new { id = item.MusicaID }, new AjaxOptions {UpdateTargetId="playlist", InsertionMode=InsertionMode.Replace})

來自控制器的動作方法返回一個PartialView(播放列表的購物車),只有那個應該更新,但不是讓整個頁面更新該部分,我得到一個局部視圖,在頁面上沒有更多。

這是我渲染PartialView的部分:

<section id="playlist">
     @Html.Partial("_PlaylistPartial")
</section>

這不應該像我一樣嗎?

確保你已經包括在內

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

在你看來

這是一個愚蠢的事情。

首先,我的jquery.unobtrusive-ajax.min.js的包含不像我一樣:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

所以我這樣說:

@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")

仍然無法正常工作,因為我還需要包含JQuery文件:

@Scripts.Render("~/Scripts/jquery-1.7.1.js")
@Scripts.Render("~/Scripts/jquery.1.7.2.min.js")

這樣它有效:)

派對有點晚,但我遇到了類似的問題。 解決方案是將此行添加到_Layout.cshtml:

@Scripts.Render("~/bundles/jqueryval")

首先,從NuGet Manager安裝Microsoft.JQuery.Unobtrusive.Ajax ,然后在包含~/Scripts/jquery.unobtrusive jquery-{version}.js之后在BundleConfig包含~/Scripts/jquery.unobtrusive ; 看起來與此類似:

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js",
                    "~/Scripts/jquery.unobtrusive*));

暫無
暫無

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

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