【发布时间】:2015-02-10 18:09:42
【问题描述】:
我一整天都在为此烦恼。我试图在抛出异常时只显示一个友好的 cshtml 页面,以便我的用户体验保持一致 - 我不希望我的用户甚至知道我在 UI 的 .net 堆栈上,永远。
我正在通过导航到localhost:2922/junkurl 进行测试, - 如果 URL 无法解析、找不到或生成异常,我想显示一个友好呈现的 cshtml 页面。
我的 web.config 中有什么:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Views/Shared/Error.cshtml">
</customErrors>
这会导致默认的黄色错误页面。但是如果我在根目录中放置一个error.html 页面并使用它:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/error.html">
</customErrors>
它有效。唯一的问题是,我不想用直接的 html 重新构建我的整个 Layout / LoginPartial / etc - 我想用剃刀渲染它。围绕这个的典型方法是什么?我已经对此进行了大量搜索,如果我错过了答案,我深表歉意,我完全不知所措。
如果可能的话,我宁愿从代码中执行此操作,但据我所知,代码只会涵盖一定程度的异常......在某一点上,它似乎必须通过配置来处理。我只希望它是简单的配置!
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor