【发布时间】:2010-10-07 22:10:10
【问题描述】:
当有人输入 URL 时,我正在尝试制作自定义 HTTP 404 错误页面 它不会在 ASP.NET MVC 中调用有效的操作或控制器,而是显示通用的“找不到资源”ASP.NET 错误。
我不想使用 web.config 来处理这个问题。
我可以做任何路由魔法来捕获任何无效的 URL 吗?
更新:我尝试了给出的答案,但我仍然收到丑陋的“找不到资源”消息。
另一个更新:好的,显然 RC1 中发生了一些变化。我什至尝试在 HttpException 上专门捕获 404,但它仍然只是给我“找不到资源”页面。
我什至使用了 MvcContrib 的资源功能,但什么也没用——同样的问题。有什么想法吗?
【问题讨论】:
-
@Peter 这是我添加的解决方案,同时覆盖 HandleUnknownAction 以在操作不存在时显示页面未找到视图,然后内置 ASP.net 自定义错误处理程序来处理用户可能输入的任何其他内容。
-
@pete 这也可以stackoverflow.com/questions/619895/…
-
我讨厌其他用户冒昧地说“你为什么要这样做?就这样做......”但我建议如果没有什么能阻止你使用 web.config 方法并满足您的需求,这是一种标准且优雅的方法。对此方法的任何反馈表示赞赏,因为它很可能存在一些我不知道的问题。
标签: asp.net asp.net-mvc asp.net-mvc-routing http-status-code-404 custom-error-pages