Я обновляю страницу .aspx с функциональностью AJAX (используя VB, а не C #). Кодовое поле заполняет страницу данными, извлеченными из веб-службы. Страница имеет две панели, которые всплывают (с разными данными, конечно) таким образом. При полном обновлении страницы может потребоваться заполнение одной или обеих панелей. Но заполнение Panel 2 может занять много времени, и мне нужно иметь возможность обновлять Panel 1 без обновления Panel 2. Отсюда необходимость в AJAX (верно?)
Решение, которое я придумала, все еще имеет старую страницу .aspx с кодовым заголовком .aspx.vb, но в нее вводится страница Общего обработчика (.ashx). Эти первые два компонента выполняют работу при первом посещении пользователя или при полном обновлении страницы, но когда вызывается AJAX, запрос обрабатывается страницей .ashx.
Первый вопрос: это звуковая архитектура? Я не нашел ситуацию в Интернете, как у меня. Первоначально я хотел превратить страницу .aspx в обработчик AJAX с помощью функции codebehind, реализующей IHttpRequest, а затем с помощью методов «ProcessRequest» и «IsReusable», но я обнаружил, что не могу отделить регулярное посещение страницы от AJAX. запрос, поэтому мои обработчики AJAX вступили во владение даже при первом посещении страницы. Второй вопрос: прав ли я, что этот подход (заставляющий страницу .aspx выполнять двойную функцию в качестве обработчика AJAX) никогда не сработает? Разве невозможно определить, получаем ли мы запрос на полную страницу или запрос на частичную страницу (AJAX)?
Если архитектура хороша , то мне нужно динамически генерировать много HTML в файле .ashx, верно? Если это правильно, я должен отправить HTML обратно клиенту, или я должен каким-то образом его кодировать? Я слышал о шифровании JSON, но пока не понял, как его использовать. Итак, третий вопрос: является ли context.Response.Write единственным конвейером для отправки данных клиенту? И, если это так, я должен отправить обратно HTML или какой-то JSON-кодированный объект?
Заранее спасибо.