Избегайте обновления страницы, вызванного обратной передачей в asp.net без AJAX - PullRequest
0 голосов
/ 06 мая 2019

Я знаю, что есть много похожих вопросов, но мне пришла в голову хитрая идея.

Известно, что загрузка HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment") может остановить браузер от обновления страницы, поскольку сама загрузка является ответом, а обновленная страница не может быть сгенерирована как другой ответ.Конечно, я не собираюсь делать загрузку только для того, чтобы избавиться от обновления страницы, но я думаю о том, есть ли какая-либо другая форма HTTP-ответа, которая может «заменить» обновление страницы, или любой метод HttpContext.Current.Responseэто может очистить ответ по умолчанию.Любая идея?

(Не спрашивайте меня, почему это должно быть без AJAX. Я знаю, что это может сработать. Просто сейчас не желательно)

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

Только что открыл путь iframe.

Отправить форму без перезагрузки страницы

Не то, чего я ожидал, но в том же направлении, которое я искал, хотя необходимо создать «бессмысленный» элемент.

0 голосов
/ 06 мая 2019

Если вам не нужно отправлять данные в теле POST, вы можете использовать объект image и просто установить его src для URL сервера, это выполнит код на сервере и НЕ обновитнаша страницаЭто вроде AJAX, но НЕ как обычно.

Ниже приведен пример кода JS

function execute_test_method_on_server(param1, param2) {
    var u = "/api/somecontroller/test_get_method?param1=" + param1 + "&param2=" + param2;
    (new Image).src = u;
    return true;
}
...