Я использую Ajax.BeginForm в своем View и предоставляю обработчик OnFailure в моем .js, но он никогда не вызывается. Я попытался выдать исключение (выбросить новое исключение HttpException (500, «Внутренняя ошибка»)) в моем контроллере, и оно никогда не вызывается. Причина, по-видимому, заключается в том, что в web.config включены ошибки пользователей. Я хочу обработать все исключения или ошибки в моем контроллере и передать их мой обработчик OnFailure в моем файле .js, как если бы клиентские ошибки были отключены. Есть ли способ сделать это?
РЕШИТЬ:
Работает даже при клиентских ошибках, включенных в web.config ...
То, как я это делаю, это установить Response.StatusCode = 500 и добавить заголовок к моему объекту ответа Response.AppendHeader ("MyResponseHeader", "My Message");
В моем обработчике .js OnFailure ...
function OnFailure(ajaxContext) {
alert(ajaxContext.status); // 500
alert(ajaxContext.getResponseHeader("MyResponseHeader")); // "My Message"
}