【发布时间】:2012-04-04 18:12:11
【问题描述】:
在控制器中,创建/编辑 ActionResult 的错误可以使用 try-catch 块来处理,错误会显示在视图上(通过 ModelState.AddModelError)。
现在我正在尝试使用 DeleteConfirmed ActionResult 进行类似的操作,但视图页面上没有出现错误。我试图从中删除的表应该抱怨删除外键字段值。
我应该以不同的方式 RedirectToAction 还是添加其他内容?
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
try
{
StatusList statuslist = db.Status.Find(id);
db.Status.Remove(statuslist);
db.SaveChanges();
}
catch (DataException dex)
{
ModelState.AddModelError("", dex.Message);
return RedirectToAction("Delete");
}
return RedirectToAction("Index");
}
【问题讨论】:
-
“没有出现错误”是什么意思?是否会抛出异常?
-
@ChristoferEliasson - 问题已得到澄清。
-
可能其他两个操作方法都有 javascript,一旦结果传递到视图,就会处理消息的显示?
标签: asp.net-mvc-3 error-handling controller