Схожие вопросы задавались снова и снова, но по какой-то причине ни одна из вещей, которые я пробовал, не сработала. У меня есть приложение AJAX и когда запрос пользователя недействительный URL Я хотел бы вернуть JsonResult, который выглядит примерно так:ASP.NET MVC Json 404 Response
[ error: true, status: 404, message: 'The requested page could not be found... or some other message... ']
Я не хочу, чтобы пользователь просто перенаправляется на страницу ошибки, определенной в файл web.config, поскольку это выведет их из приложения ajax.
Я попытался следующие вещи:
- Пользовательские HandleErrorAttribute - Оказывается, это только обрабатывать 500 ошибок, связанных с исключениями брошенные мой код
- Пользовательские FilterAttribute, который расширяет FilterAttribute и реализует IExceptionFilter - такой же вопрос, как и раньше
- Override HandleUnknownAction в базовом контроллере - не удалось выяснить, как вернуть JsonResult из метода
- Добавлен улов всех маршрутов - Мои другие маршруты используются до того, как поймать ll route найдено
Любые мысли были бы ценными.
Как можно использовать другие ваши маршруты, если вы это ожидаете? – Lazarus
URL-адрес/NonExistantController/NonExistantAction/по-прежнему соответствует маршруту запаса/{Контроллер}/{Действие}/{id}, так что маршрут используется до того, как весь маршрут {* url} –