Я следовал этому руководству для атрибута HandleError: blogs.msdn.com , который я использую следующим образом (AccountController):
[HandleError(View="ErasErrorPage")]
public ActionResult Index()
{
ViewBag.admins = _accountMapper.GetAdmins(false);
ViewBag.members = _accountMapper.GetMembers(false);
ViewBag.Countries = _countryMapper.GetCountries();
return View();
}
Этот код вызывает исключение, поскольку_accountMapper.GetAdmins(false)
происходит сбой из-за System.Data.EntityException.
Я поместил представление ErasErrorPage в свою общую папку и добавил <customErrors mode="On"/>
, но ErasErrorPage не отображается.Все, что я получаю, когда возникает ошибка, это желтый экран смерти, говорящий:
Очевидно, что установка режима в «Выкл» или «RemoteOnly» не решает проблему.
У кого-нибудь есть идея, почему это не работает?
РЕДАКТИРОВАТЬ
Если я перехожу прямо к http://localhost:3527/Account/Index,, я получаю правильный ErasErrorPage, но я этого не хочу,Я хочу, чтобы веб-сайт автоматически перенаправлял на эту страницу при возникновении исключения.Возможно ли это?
EDIT2
Я поместил атрибут [HandleError(View="ErasErrorPage")]
прямо перед каждым методом Public ActionResult methodName() { ... }
, и у меня все еще появляется желтый экранof Death, говоря, что мне нужно изменить режим на «Off» или «RemoteOnly» ...