Как мне удалить исключение/результат 404 или FileNotFound из моего действия и позволить IIS использовать мою конфигурацию config.exp для отображения страницы 404?бросать/возвращать 404 actionresult или исключение в Asp.net MVC и разрешать IIS обрабатывать его
Я определил мои CustomErrors как так
<customErrors mode="On" defaultRedirect="/trouble">
<error statusCode="404" redirect="/notfound" />
</customErrors>
Моя первая попытка на ActionResult, который пытается добавить не работает.
public class NotFoundResult : ActionResult {
public NotFoundResult() {
}
public override void ExecuteResult(ControllerContext context) {
context.HttpContext.Response.TrySkipIisCustomErrors = false;
context.HttpContext.Response.StatusCode = 404;
}
}
Но это просто показывает пустую страницу, а не мой/не обретенная страница
:(
Что я должен делать?
Если бы разжаловать это потому, что один не должны делать это вручную. Используйте метод HttpNotFound Controller, как показано в другом ответе. – xanadont
Истина - но HttpNotFound был представлен в ASP.NET MVC 3. Этот вопрос (и мой ответ) предустановил это и был подходящим подходом в более ранних версиях. Теперь я отредактировал свой ответ, чтобы проиллюстрировать более новый подход, который предпочтительнее в MVC3. –
Рад. Проголосовал за резервное копирование. – xanadont