У меня есть простая форма ajax в MVC. В AjaxOptions есть OnComplete, установленный на простое javascript-функцию, которое делает одно - возвращает false.
@using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { UpdateTargetId = "DivFormId", HttpMethod = "Post", OnComplete = "preventUpdate" }))
function preventUpdate(xhr) {
return false;
}
Проблема в том, что эта страница уже обновлена. Например. в одном случае контроллер возвращает частичный вид после обратной передачи, в другом случае он возвращает некоторый объект Json. Я хочу, чтобы он обновлял страницу при возврате частичного представления и показывал диалоговое окно при возврате json. К сожалению, когда json возвращается, он очищает страницу (обновляет ее с помощью json), даже когда функция OnComplete возвращает false, поскольку MSDN говорит: Чтобы отменить обновление страницы, верните false из функции JavaScript.
Как предотвратить обновление страницы в зависимости от полученного ответа?
Спасибо!
----- UPDATE -------
До сих пор я нашел следующее решение. Когда я не укажу UpdateTargetId, я могу сделать вручную с ответом, что хочу. Но это не документированное поведение с возвратом false.