【发布时间】:2009-04-29 12:37:09
【问题描述】:
我有一个使用 ASP.NET MVC 收集数据的表单。它看起来像这样:
[AcceptVerbs(HttpVerbs.Post)]
[AutoValidate]
public ActionResult Contact(ContactMessage msg)
{
if(ModelState.IsValid)
{
try
{
this.messengerService.SendMail(msg);
RedirectToAction("Index");
}
catch (Exception ex)
{
ModelState.AddUnhandledError(ex);
}
}
return View(msg);
}
我正在使用 asp.net mvc 验证和模型状态验证来处理显示的无效规则消息。一切正常。
现在我想使用 ajax 表单提交操作,并在操作成功完成时显示成功消息。我尝试使用下面的代码,它在操作成功时工作,但是当它失败时(模型有错误),整个页面在显示成功消息的DIV中再次呈现!这可能吗?
[AcceptVerbs(HttpVerbs.Post)]
[AutoValidate]
public ActionResult Contact(ContactMessage msg)
{
if(ModelState.IsValid)
{
try
{
this.messengerService.SendMail(msg);
return Content("Message sent");
}
catch (Exception ex)
{
ModelState.AddUnhandledError(ex);
}
}
return View(msg);
}
【问题讨论】: