Решение, которое мы придумали в конце, было немного хакерским, но, кажется, довольно изящным.
Начните с перехвата любых 302-х, которые приходят из запроса ajax в вашем файле global.asax.*
Мы изобрели код состояния 308, чтобы браузер не перехватывал 302 и не вызывал сбой jquery.
А затем где-нибудь в вашем глобальном файле javascript добавьте следующее
$(document).ajaxError(function (e, request, errorThrown, exception) {
if (request.status == "308") {
window.location = request.getResponseHeader('location');
}
});
Это позволяет jquery обнаруживать перенаправление, а затем направлять пользователя на запрошенную страницу.