Обработка ошибок Не работает ASP .NET MVC - PullRequest
1 голос
/ 19 июля 2010

Я создал новое приложение MVC в VS2010 прямо из коробки.В Home Controller у меня есть следующее:

    [HandleError(View = "Error")]
    public ActionResult Index()
    {


        int num1 = 0;
        int num2 = 5;

        int result = num2 / num1;

        return View();

    }

Это создает ошибку и всплывающее окно отладки, а затем, если я продолжаю желтый экран.Я не могу заставить его перенаправить на страницу Error.aspx.У меня есть web.config, например:

 <customErrors mode="On" defaultRedirect="~/Error.aspx">
 </customErrors>

, но он не будет перенаправлен на правильную страницу с ошибкой, несмотря на то, что это совершенно новый проект.Как мне настроить это на работу, пожалуйста ????

спасибо

Ответы [ 3 ]

1 голос
/ 23 июля 2010

Если я пытаюсь повторить это, меня перенаправляют на представление ошибок по умолчанию в папке общего доступа - похоже, MVC переопределяет любые настройки, сделанные для атрибута defaultRedirect в web.config.

В вашем файле web.config вы пытаетесь перенаправить на физическую страницу aspx. Атрибут HandleError в вашем действии попытается сначала найти представление с именем Error в вашей конкретной папке представления, затем перейдет к папке общего доступа. Просто выберите один или другой, и все будет в порядке.

1 голос
/ 19 июля 2010

Это обсуждается в обзорах MVC. Поведение ошибок IIS зависит от вашей версии IIS.

Использование ASP.NET MVC с различными версиями IIS (C #)

0 голосов
/ 19 июля 2010

Попробуйте это сообщение в блоге: http://msnetprogrammer.net/blog/post/HandleError-attribute-%28MVC%29.aspx

Также имя представления по умолчанию - Ошибка, так что технически вы можете просто иметь [HandleError]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...