Проблема синхронизации с AJAX, ASHX и веб-формой - PullRequest
0 голосов
/ 05 мая 2011

У меня есть приложение ASP.NET, и я думаю, что у меня проблема с синхронизацией.У меня есть элемент управления в веб-форме, который будет вызывать некоторый Javascript на OnClientClick, а также вызывать код через серверную часть OnClick.Я нажимаю кнопку (кнопка печати в моем случае) и вызываю Javascript, чтобы указать причину печати.Я ввожу что угодно, а затем в JS я вызываю страницу Ashx (обработчик) через AJAX, передавая результаты запроса.

Затем обработчик помещает текст из приглашения в переменную сеанса.Как только JS завершается, вызывается код OnClick, вызывающий метод, который извлекает причину из переменной сеанса (после того, как ее записал аш), регистрирует информацию и печатает.В первый раз, когда я делаю это, я получаю сообщение об ошибке, причина не найдена (т. е. переменная сеанса равна нулю).Это работает каждый раз после этого.Итак, я считаю, что это происходит в первый раз, когда вызывается страница ASHX, она компилируется / загружается и недостаточно быстро добавляет информацию в сеанс.

Мой вопрос - есть ли чистый способ замедлениямоя функция печати и дать время вызова JS для завершения?

1 Ответ

0 голосов
/ 05 мая 2011

Я бы удалил серверную часть onClick и включил бы функцию onClientClick, чтобы опубликовать ввод пользователя туда, где ранее находился ваш серверный onClick.Полное удаление шага ashx.

Если вам нужен шаг ashx, тогда я опубликую пользователя на следующем шаге события onComplete вызова ashx ajax.Это гарантирует, что все срабатывает в правильном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...