Изображение «Пожалуйста, подождите» при каждом действии пользователя в ASP.NET 3.5 - PullRequest
2 голосов
/ 29 мая 2009

В нашем приложении ASP.NET 3.5 мы хотели бы реализовать функцию «Пожалуйста, подождите ..»: при каждом действии пользователя (нажатие кнопки, изменение вкладки и т. д.) в верхней части страницы будет отображаться небольшой счетчик (фактически в отдельном фрейме, который мы уже используем).

Мы подумали об этом решении:

  1. «захват» _doPostBack для перехвата каждого события, отображения изображения счетчика и выполнения оригинальной функции _doPostBack
  2. зарегистрировать блок клиентского скрипта в коде ASP.NET, чтобы скрыть изображение после окончания обработки

Мой вопрос: как вы думаете, это хорошее решение? это, конечно, не очень элегантно, но выглядит довольно эффективно. Есть ли другое решение / шаблон для такого рода вещей?

PS: мы не используем JQuery и используем UpdatePanels

Ответы [ 2 ]

2 голосов
/ 29 мая 2009

Поскольку вы уже используете UpdatePanels, вам просто нужно добавить UpdateProgress элемент управления на страницу и связать его с вашей UpdatePanel.

Это будет автоматически отображаться при частичной обратной передаче изнутри UpdatePanel и скрываться после завершения запроса.

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

<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="updatePanel1">
  <ProgressTemplate>
    <img src="./images/somespinner.gif" />Please wait...
  </ProgressTemplate>
</asp:UpdateProgress>
0 голосов
/ 29 мая 2009

Я уверен, что вы можете прикрепить индикаторы прогресса к UpdatePanel. Либо по обработчику событий, либо по свойствам, я не могу вспомнить, какое уже давно я использую jQuery, а не UpdatePanels.

Rich

...