使用Ajax.BeginForm显示验证摘要

时间:2014-02-15 17:24:41

标签: asp.net-mvc razor asp.net-ajax

我有一个登录表单,最初使用以下语法:

@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))

我修改了它:

@using (Ajax.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, new AjaxOptions(), new { @class = "form-horizontal", role = "form" }))

在我的表单中,我会显示如下验证摘要:

@Html.ValidationSummary(true)

每当我将表单切换到Ajax时,我都不再看到验证摘要了。有没有快速修复,或者我需要做更多工作(更改我的控制器代码以返回部分视图等)?

由于

1 个答案:

答案 0 :(得分:2)

您的Ajax.Options targetid未设置。指定一个:http://msdn.microsoft.com/en-us/library/system.web.mvc.ajax.ajaxoptions.updatetargetid(v=vs.118).aspx

, new AjaxOptions { UpdateTargetId = "TheDiv"})

确保拥有:jquery.unobtrusive-ajax.js