Я ловила необработанной ошибки, используя Application_Error
метод в моем Global.asax
файле, это то, что я до сих пор:Отображение страницы ошибок MVC
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if(httpException != null)
{
string action;
switch(httpException.GetHttpCode())
{
case 404:
action = "404";
break;
case 500:
action = "500";
break;
default:
action = "Other";
break;
}
Server.ClearError();
Response.Redirect(String.Format("~/Error/?error=" + action + "&message=" + exception.Message));
}
}
Однако я действительно не нравится идея перенаправления пользователя на страницу с ошибкой, infact Я бы хотел, чтобы URL-адрес остался прежним.
Например, если страница не существует, она не должна перенаправляться на путь в URL-адресе, вместо этого она должна оставаться на одной странице, но все равно отображать ошибку.
Кто-нибудь знает, как это сделать?
Звучит так просто, но все же так сложно. Все, что я знаю, что нужно сделать, это в Application_Error отобразить представление ошибки? Вместо перенаправления – KTOV