我正在使用@Ajax.BeginForm
帮助器方法,它通过Ajax将表单数据提交给服务器。当数据到达服务器时,将处理一些服务器端验证,并将最终结果传递回浏览器。
我的问题是,我希望在没有页面刷新的情况下显示错误。基于此我发现了很多问题,但它们已经过时了。我想知道是否有一些新方法如何实现这一目标。到目前为止,我找到的最好方法是process the result using jQuery。但也许在新的MVC4中有一些内置的功能如何以更好的方式实现这个问题?
答案 0 :(得分:3)
您的观点应与此类似:
<div id="update-this">
@using (Ajax.BeginForm("YourAction", new AjaxOptions { UpdateTargetId = 'update-this' }))
{
}
</div>
还可以使用字段旁边的@Html.ValidationMessageFor(model => model.someField)
来显示错误消息。
在服务器端,如果有任何错误,则返回部分视图:
public ActionResult YourAction(YourModel yourmodel)
{
if (ModelState.IsValid)
{
// Do what is needed if the data is valid and return something
}
return PartialView("DisplayPartial", yourmodel);
}
在模型上使用数据注释使其工作。 (教程here。)