我正在使用@Ajax.BeginForm
辅助方法,它通过 Ajax 将表单数据提交到服务器。当数据到达服务器时,会处理一些服务器端验证并将最终结果传递回浏览器。
我的问题是,我希望在不刷新页面的情况下显示错误。基于此,我发现了很多问题,但它们已经过时了。我想知道是否有一些新方法可以实现这一目标。到目前为止,我发现的最好方法是使用 jQuery 处理结果。但也许在新的 MVC4 中有一些内置功能如何以更好的方式解决这个问题?
我正在使用@Ajax.BeginForm
辅助方法,它通过 Ajax 将表单数据提交到服务器。当数据到达服务器时,会处理一些服务器端验证并将最终结果传递回浏览器。
我的问题是,我希望在不刷新页面的情况下显示错误。基于此,我发现了很多问题,但它们已经过时了。我想知道是否有一些新方法可以实现这一目标。到目前为止,我发现的最好方法是使用 jQuery 处理结果。但也许在新的 MVC4 中有一些内置功能如何以更好的方式解决这个问题?
您的视图应类似于以下内容:
<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);
}
并在您的模型上使用数据注释使其工作。(这里有教程。)