【问题标题】:Custom Error handling in ASP MVCASP MVC 中的自定义错误处理
【发布时间】:2010-09-27 04:25:52
【问题描述】:

我想超越 ASP mvc 中给出的默认错误处理。我有一个错误控制器,所以我希望可以根据发生的情况给出不同的错误消息:即无效参数、权限被拒绝、OMG DATABASE DEAD 等。

但我似乎无法弄清楚如何做到这一点,这是我尝试过的:

[HandleError(View="/Errors/InvalidArgument",ExceptionType=typeof(ArgumentException))]

它最终给出了一个运行时错误。

此外,在同一主题上,是否可以添加更多可以传递给错误控制器的参数,例如:

[HandleError(View="/Errors/InvalidArgument",ExceptionType=typeof(ArgumentException), Error="dumb arguments")]

谢谢

【问题讨论】:

  • +1 for OMG DATABASE DEAD 也需要确切的帮助。

标签: asp.net-mvc error-handling


【解决方案1】:

只需指定视图名称,而不是路径...至于传递参数,我认为您不能。

【讨论】:

  • 我试过了,没用……它怎么知道要转到哪个控制器?
  • 它不会去控制器,它会去视图。如果你想去一个特定的控制器,你必须捕获异常并重定向自己(我认为)。您可以使用 TempData 来存储异常详细信息。您也许可以编写一个 ActionFilter 来完成这项工作...
  • 它不会“转到控制器”。它只是指定了一个视图名称,就像 Kieron 所说的那样。看源代码;这是微不足道的。视图名称与任何其他视图名称一样解析,首先在当前控制器中,然后在共享中(无论如何,在默认的 WebForms ViewEngine 中)。
猜你喜欢
  • 2017-11-16
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
相关资源
最近更新 更多