2012-11-29 54 views
2

我正在使用MVC 4做網站。它是一個列出音樂的站點,用戶可以創建一個播放列表(如購物車)。MVC 4 Ajax沒有更新頁面內的PartialView

我對每一個音樂應在阿賈克斯執行此操作鏈接:

@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> 

不應該這項工作就像我有嗎?

+0

也許這種解決方案是相關的? http://stackoverflow.com/questions/13626225/mvc-4-ajax-is-not-updating-the-partialview-within-the-page –

+7

你把我的問題的鏈接... – patricia

回答

1

這是一個愚蠢的事包括

<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> 

所以我把這樣的:

而且仍然沒有工作,因爲我還需要包括JQuery的文件:

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

這樣,它的工作原理:)

2

確保您已在視圖

+0

我已經添加了和它不會改變任何東西 – patricia

1

晚會有點晚,但我也有類似的問題。解決的辦法是加入這一行_Layout.cshtml:

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

首先,從管理的NuGet安裝Microsoft.JQuery.Unobtrusive.Ajax後來包括BundleConfig~/Scripts/jquery.unobtrusive包括jquery-{version}.js後;這看起來類似於這樣的:

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