ASP.Net MVC 3中的共享错误视图是什么?它有什么作用?

12

我还不熟悉MVC 3,正在为我的应用程序创建一个漂亮的错误页面而感到困难。

我注意到了自动生成的共享Error.cshtml视图,它是用来做什么的?

还有任何关于实现简单单一错误页面的链接都将非常棒 :-)

1个回答

15

这已经实现了;只是默认情况下,如果您的请求来自Web服务器本身,则无法看到原始错误-这对于调试非常有用。远程访问者将看到默认的error.cshtml结果:

抱歉,处理您的请求时发生错误。

即使在本地查看错误页面,请确保customErrors模式设置为"On":

<customErrors mode="On"/>

你可能需要将此添加到web.config中的<system.web>部分。但在调试期间,通常将其设置为“RemoteOnly”。


+1 啊,我真傻,我太習慣使用 WebForms 了,我已經添加了 DefaultRedirect="/Error"。你是對的,只需要設置為 On,它就可以自動工作。謝謝 :-) - Steffen
如果您需要在显示错误页面之前执行某些操作,例如发送带有错误日志的电子邮件,则会变得更加复杂。 - Marco Staffoli
@Bugeo 针对此问题,还有控制器方法和全局钩子可供使用。 - Marc Gravell
1
@ashes999 或许可以遵循“按照...的说明”? - Marc Gravell
@MarcGravell,您的帖子似乎表明,如果您设置了customErrors mode="On",则默认情况下应该看到/Shared/Error.cshtml。我这样做了,但我没有看到错误页面;将defaultRedirect设置为~/Error也没有帮助... - ashes999
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接