2012-02-09 55 views
2

我的观点Ajax.BeginForm刷新视图,而不是更新目标ID

<div id="ValidationSummary"> 
    @Html.Partial("ValidationSummary") 
</div> 

@using (Ajax.BeginForm("Index", //<-- Action name 
    "JobDetails", //<-- Controller name 
    new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "ValidationSummary" })) 
{ 

} 

我想在ValidationSummary更换。但它改变了我的网址,以JobDetails

+0

您是否正确添加了相关的microsoft ajax javascript文件?看来你的ajax调用不起作用。你是通过firebug(在Firefox中)还是在开发工具(在Chrome/IE中)来检查它? – 2012-02-09 19:32:16

回答

6

确保您已经添加下面的脚本到你的页面:

  • jquery.unobtrusive-ajax.js

在ASP.NET MVC 3,jQuery是默认的客户端框架用于客户端验证和Ajax。

Ajax帮助程序(如Ajax.BeginForm和Ajax.ActionLink)会发出HTML5 data- *属性,这些属性由jquery.unobtrusive-ajax.js脚本解释并以此方式进行AJAX化。

另外请确保您已删除对Microsoft*.js脚本的所有引用。这些已过时,不应再用于ASP.NET MVC 3.

+0

YYYYYEEEEESSSS !!!!!!!!! – 2013-12-27 15:26:23