类似的问题已经被反复提出,但由于某种原因,我尝试过的东西都没有奏效。我有一个Ajax应用程序,当用户请求的网址无效,我想返回一个JsonResult看起来是这样的:ASP.NET MVC Json 404响应
[ error: true, status: 404, message: 'The requested page could not be found... or some other message... ']
我不希望用户只被重定向到定义错误页web.config文件将会把它们带出ajax应用程序。
我曾尝试以下的事情:
- 定制HandleErrorAttribute - 原来这些只能处理500错误,由于我的代码
- 定制FilterAttribute扩展FilterAttribute并实现个IExceptionFilter抛出的异常 - 同样的问题之前,
- 覆盖基本控制器中的HandleUnknownAction - 无法弄清楚如何从方法中返回JsonResult
- 添加了catch所有路由 - 我的其他路由在catch发现路线
任何想法将不胜感激。
如果您的404是期望的,您的其他路线如何使用? – Lazarus 2012-03-02 16:55:31
url/NonExistantController/NonExistantAction /仍然匹配股票路由/ {Controller}/{Action}/{id},以便在捕获{* url} – 2012-03-02 18:02:41