5

我正在使用@Ajax.BeginForm辅助方法,它通过 Ajax 将表单数据提交到服务器。当数据到达服务器时,会处理一些服务器端验证并将最终结果传递回浏览器。

我的问题是,我希望在不刷新页面的情况下显示错误。基于此,我发现了很多问题,但它们已经过时了。我想知道是否有一些新方法可以实现这一目标。到目前为止,我发现的最好方法是使用 jQuery 处理结果。但也许在新的 MVC4 中有一些内置功能如何以更好的方式解决这个问题?

4

1 回答 1

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);
}

并在您的模型上使用数据注释使其工作。(这里有教程。)

于 2013-03-26T13:54:38.937 回答