Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Отключить UpdateProgress в UpdatePanel с помощью кнопки ASP OnClientClick

Автор вопроса: JaredОтветов: 1

У меня есть один элемент управления UpdateProgress в моем UpdatePanel. В этом UpdatePanel у меня есть MultiView. Этот MultiView имеет много кнопок для навигации по различным видам.

Я пытаюсь показать анимацию UpdateProgress только при нажатии определенной кнопки. Все остальные кнопки должны скрывать/отключать элемент управления UpdateProgress. Я пытаюсь это сделать через jQuery. Я открыт для любого метода, хотя.

Это мой текущий код:

 function hideProgress() {
    $('#<%= UpdateProgress.ClientID %>').hide();
    //console.log('hello');
    return false;
 }

Вот одна из кнопок:

 <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" OnClientClick="hideProgress()" />

Я знаю, что попадаю в свою функцию, потому что получаю сообщение журнала. Ошибок нет, просто не работает.

Может ли кто-нибудь показать мне, как я это сделаю?

Спасибо!

  • Если вы просматриваете исходный код страницы при ее отображении, совпадают ли идентификаторы или UpdateProgress и UpdateProgress.ClientID? Tim B James 04.05.2012
  • Что, если вы просто попробуете document.getElementById('<%= UpdateProgress.ClientID %>').style.display = "none";? Tim B James 04.05.2012

jqueryupdatepanel

Ответы

Ответ 1 · рейтинг 1 · Cobra

Попробуйте предложенное здесь решение: https://stackoverflow.com/a/6301744/1071574.

В двух словах, идея состоит в том, чтобы связать элемент управления UpdateProgress с "фиктивным" (то есть несуществующим) UpdatePanel всякий раз, когда вы хотите его отключить, на основе элемента управления, сгенерировавшего асинхронную обратную передачу. Это приведет к тому, что он никогда не будет отображаться (поскольку единственный UpdatePanel, с которым он должен работать, не существует).

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы