Я использую ELMAH для обработки исключений в моем проекте MVC.Все работает нормально, за исключением случаев, когда запрос является ajax-запросом.
Исключение регистрируется и регистрируется, но когда я делаю response.redirect на страницу ошибки, перенаправление не происходит, и сообщение об ошибкеотображается на той же странице, перекрывая существующее содержимое.
Вот код:
Это код elmah для перехвата исключений.Я присваиваю значение «Y», если это Ajax-запрос
if (context.HttpContext.Request.IsAjaxRequest())
{
context.HttpContext.Session["IsAjax"] = "Y";
}
var e = context.Exception;
if (!context.ExceptionHandled
|| RaiseErrorSignal(e)
|| IsFiltered(context))
return;
LogException(e);
И в моем глобальном asax-файле
В методе ErrorLog_Logged я сохраняю GUID, возвращенный из ELMAH, в переменной сеанса для последующего использования.отобразите идентификатор для пользователя, чтобы он мог отправить GUID по почте, и я вижу исключение, запрашивающее GUID для соответствующей таблицы elmah в базе данных.
protected void ErrorLog_Logged(object sender, ErrorLoggedEventArgs args)
{
var id = args.Entry.Id;
Session["ErrorId"] = id.ToString();
}
и в методе application_Error я делаю следующее
protected void Application_Error( object sender, EventArgs e )
{
Response.Redirect("/Error/Index");
}
Что я делаю не так.Перенаправление не работает, и сообщение об ошибке отображается в верхней части существующей страницы.
На моей существующей странице есть несколько вкладок jquery.
Я действительно не могу разобратьсяэтот.Если кто-нибудь знает ответ, я буду очень признателен.
Пожалуйста, помогите.
Заранее спасибо.