2014-09-05 3 views
2

Я хочу показать страницу пользовательской ошибки, когда пользователь пытается вызвать методы контроллера, которые не существуют или ошибка авторизации возникает во время доступа в веб-приложении MVC5.Неверная страница ошибки MVC5

Есть ли сайт, который объясняет, как настроить пользовательскую страницу ошибок для веб-сайта MVC5.

Заранее спасибо

+0

проверка [это] (http://stackoverflow.com/questions/10928277/redirect-to-another-page-when-user-is-not-authorized-in-asp-net-mvc3) – szpic

ответ

0

Добавить следующий <customErrors> тег в web.config, который поможет вам перенаправить методу NotFound действия Error контроллера, если система не может найти запрошенный URL (код состояния 404) и перенаправляет метод ServerError действия контроллера ошибки, если система запускает внутреннюю ошибку сервера (код состояния 500)

<!--<Redirect to error page>--> 
<customErrors mode="On" defaultRedirect="~/Error/ServerError"> 
    <error redirect="~/Error/NotFound" statusCode="404" /> 
</customErrors> 
<!--</Redirect to error page>--> 

Вы должны создать Error контроллер, который содержит ServerError и NotFound ACTIO n, который отображает соответствующее представление для отображения правильного сообщения пользователю.

public class ErrorController : Controller 
{ 
    public ActionResult NotFound() 
    { 
     return View(); 
    } 
    public ActionResult Error() 
    { 
     return View(); 
    } 
} 
+1

Вы не следует перенаправлять на страницы ошибок. Использование '' разрешено только в том случае, если у вас также есть 'redirectMode =" ResponseRewrite "' – Dai

1

Проверьте эту страницу Бен Фостер, очень подробное объяснение проблем, с которыми вы столкнетесь, и надежное решение. http://benfoster.io/blog/aspnet-mvc-custom-error-pages

+0

Спасибо за ссылку. Это помогло –

Смежные вопросы