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