MVC4 Ajax.BeginForm不替换UpdateTargetId

关于Ajax.BeginForm的问题有太多的主题。没有使用返回部分视图正确更新目标元素:
mvc4 ajax更新同一页面
ASP.NET MVC 4-Ajax.NET和html5
MVC 4(razor)-控制器返回部分视图,但整个页面正在更新
MVC 4 Ajax没有更新页面中的PartialView
但是,所有这些问题都可以通过手动写出jQueryAjax或包含缺少的javascript文件来解决

@使用(Ajax.BeginForm(“明信片详细信息”,新的AjaxOptions())
{
InsertionMode=InsertionMode.Replace,
UpdateTargetId=“详细信息”
}))
{
<div id=“明信片搜索结果”>
@{Html.RenderAction(“明信片搜索结果”,模型);}
</div>
}
<div id=“详细信息”>
&lt/部门>

相关控制器代码:

[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get)]
公共操作结果明信片搜索结果(明信片搜索筛选器筛选器)
{
明信片搜索结果模型=新明信片搜索结果(过滤器);
返回PartialView(“搜索结果”,模型);
}

在我的布局中,我引用了这些jQuery文件。此外,我还验证了页面是否输出了正确的路径,以及是否找到了正确的文件。我尝试过将不显眼的ajax.min.js验证.min.js的顺序切换为无效

<script type=“text/javascript”src=”https://stackoverflow.com/questions/15095870/@Url.Content(“~/Scripts/globalize.js”)”&gt&lt/脚本>
<script type=“text/javascript”src=”https://stackoverflow.com/questions/15095870/@Url.Content(“~/Scripts/jquery-1.9.1.js”)”&gt&lt/脚本>
<script type=“text/javascript”src=”https://stackoverflow.com/questions/15095870/@Url.Content(“~/Scripts/jquery-ui-1.10.0.custom.min.js”)”&gt&lt/脚本>
<script type=“text/javascript”src=”https://stackoverflow.com/questions/15095870/@Url.Content(“~/Scripts/jquery.unobtrusive ajax.min.js”)”&gt&lt/脚本>
<script type=“text/javascript”src=”https://stackoverflow.com/questions/15095870/@Url.Content(“~/Scripts/jquery.validate.min.js”)”&gt&lt/脚本>
<script type=“text/javascript”src=”https://stackoverflow.com/questions/15095870/@Url.Content(“~/Scripts/jquery.validate.unobtrusive.min.js”)”&gt&lt/脚本>

此外,在我的网站的根web.config和“我的视图”文件夹中的web.config中,我还包括:

<添加key=“webpages:Version”value=“2.0.0.0”/>
<add key=“PreserveLoginUrl”value=“true”/>
<add key=“ClientValidationEnabled”value=“true”/>
<add key=“UnobtrusiveJavaScriptEnabled”value=“true”/>

我不知道还能去哪里找。没有抛出javascript错误,并且正确命中控制器,返回PartialViewResult。HTML中的表单元素正在填充所有正确的数据-属性

jquery.unobtrusive-ajax.min和jquery 1.9存在问题,因为jquery 1.9不再支持live()方法。因此,您应该使用jquerymigrate插件,并参考jquerymigratejs

发表评论