Удаление кнопки во время отображения прогресса - PullRequest
3 голосов
/ 29 сентября 2008

У меня есть кнопка в форме приложения wep ASP.NET, и при щелчке она отключается и публикует информацию в стороннем веб-сервисе.

У меня есть UpdateProgress, связанный с кнопкой.

как отключить / скрыть кнопку, когда отображается ход (т. Е. Сервер не завершил операцию)

Я пытаюсь сделать так, чтобы пользователи не нажимали снова при отправке информации (поскольку это приводит к дублированию информации)

Ответы [ 3 ]

3 голосов
/ 29 сентября 2008

Вам придется подключить метод javascript к менеджеру запросов страниц (Sys.WebForms.PageRequestManager.getInstance (). Add_initializeRequest). Вот код, который я бы использовал, чтобы скрыть кнопки, я бы предпочел отключить их (посмотрите, как это делается в ссылке внизу).

ASP.NET

<div id="ButtonBar">
  <asp:Button id= ............
</div>

Javascript

<script language="javascript">
  // Get a reference to the PageRequestManager.
  var prm = Sys.WebForms.PageRequestManager.getInstance();

  // Using that prm reference, hook _initializeRequest
  // and _endRequest, to run our code at the begin and end
  // of any async postbacks that occur.
  prm.add_initializeRequest(InitializeRequest);
  prm.add_endRequest(EndRequest);

  // Executed anytime an async postback occurs.
  function InitializeRequest(sender, args) 
  {
    $get('ButtonBar').style.visibility = "hidden";
  }

  // Executed when the async postback completes.
  function EndRequest(sender, args) 
  {
    $get('ButtonBar').style.visibility = "visible";
  }
</script>

Подробнее об этом можно узнать на Почему мои формы ASP.NET AJAX никогда не отправляются дважды Дэйвом Уордом .

1 голос
/ 29 сентября 2008

Самый простой способ поместить полупрозрачный png на всю страницу - тогда они не смогут отправлять события на страницу ниже. На мой взгляд, это тоже выглядит неплохо.

Подобные вещи вы видите в модальных диалоговых окнах реализации различных наборов инструментов AJAX и в лайтбоксе.

Если вам не нравится внешний вид, вам просто нужно сделать его почти полностью прозрачным (альфа-значение 1 от полностью прозрачного не заметно).

0 голосов
/ 29 сентября 2008

Я также написал сообщение в блоге об этом, которое, я надеюсь, поможет вам: http://www.fitnessconnections.com/blog/post/2008/01/Disabling-a-submit-button-UpdatePanel-Update-method.aspx

Приветствия:)

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