Я думаю, что есть несколько разных вопросов, которые вы задаете.
Во-первых, вы добавляете обработчики jquery, чтобы иметь дело со случаем, когда вы получаете ошибку типа 500 с сервера.
Что-то вроде следующего.Я предлагаю взглянуть на документы для получения дополнительной информации.
$(document).ajaxError(function(event,jqXHR,ajaxSettings,thrownError){
if (jqXHR.status != 0){
window.location = <error page>
}
}
Вторая проблема, кажется, связана с обработкой ошибок известных ошибок (скажем, неверный ввод).В этом случае я предлагаю следующий рабочий процесс.
1) Пользователь нажимает на кнопку редактирования, взятую для редактирования экрана 2) Пользователь вводит данные, использует проверку на стороне клиента, чтобы выполнить первоначальную проверку 3) Пользователь передает, пользователь затемвыводится на экран просмотра и отображается сообщение об успехе или ошибке.
Ответ сервера может выглядеть следующим образом:
public ActionResult Edit(EditModel model){
if (!ModelState.IsValid)
{
return Json(new {successful = false, message = "Failed.."});
}
...
}
На стороне клиента обратный вызов формы теперь должен обрабатывать сообщение ифакт был успешным или нет.В моей реализации я использовал knockoutjs для создания области «сообщения», которую я мог бы обновить и очистить.(Я создал шаблоны и т. Д.).
Не забудьте использовать проверку на стороне клиента для простой проверки полей .... Это сохранит поездку обратно на сервер.
Ваш может быть вполнепросто, выскакивая сообщение, возвращаемое с сервера.
Наконец, готовый документ запускается только после завершения загрузки исходного документа, и никогда больше для вызова ajax (по крайней мере, в моем понимании).Просто поместите этот код, который является document.ready в нижней части страницы редактирования.Он будет срабатывать после того, как HTML, на который он нацелен, уже отрендерен.
Надеюсь, это поможет!