【发布时间】:2014-05-02 05:13:50
【问题描述】:
这应该只替换 UpdateTarget,但它没有,它替换了整个页面,我不明白为什么。正在返回正确的局部视图,但不是替换目标 id,而是替换整个页面。
<div id="magHeader">
<p>this is a test.</p>
@Ajax.ActionLink("Edit", "GetEditor", "Home", new AjaxOptions(){ UpdateTargetId = "magHeader", InsertionMode = InsertionMode.Replace})
</div>
在运行时,链接如下所示:
<a href="/Home/GetEditor" data-ajax-update="#magHeader" data-ajax-mode="replace" data-ajax="true">Edit</a>
我做错了什么吗?过去已成功完成此操作,没有任何问题。
编辑 此问题的根本原因是在 VS 2012 中,您只需添加对 JQueryVal 包的引用即可使其正常工作。但是,在 2013 年,BundleConfig.cs 发生了更改,因此 JQueryVal 包不再包含 JQuery.Unobtrusive。所以简单的解决方法是将它重新添加到包中:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
然后一切都会按预期工作。
【问题讨论】:
标签: jquery asp.net-mvc asp.net-mvc-5