Как вызвать панель обновления в функции javascript

У меня есть панель обновления на моей веб-странице asp.net. Я хочу запустить панель обновления внутри функции javascript внутри запуска с помощью кнопки.
Для этого я использовал функцию __doPostBack('myUpdatePanel', '');. Но я думаю, что это вызывает всю обратную страницу страницы. Моя функция document.ready также выполняется, когда я вызываю эту функцию. Возможно, мне не хватает некоторых баллов.
Есть ли другой способ инициировать обновление в функции javascript?

Ответ 1

Я думаю, что если вы поместите скрытую кнопку внутри панели обновления, и вы можете использовать javascript для запуска щелчка этой кнопки, она будет делать то, что вы хотите.

<script type="text/javascript">
        function Update_UpdatePaanel() {
            document.getElementById('<%= YourButton.ClientID %>').click()
        }
    </script>

Кнопка ДОЛЖНА находиться внутри скрытого div и НЕ устанавливать visibile = "false", потому что если вы установите значение false, элемент управления не будет отображаться, а javascript будет создавать ошибки.

<div style="display:none">
        <asp:Button ID="YourButton" runat="server" />
    </div>

Ответ 2

Просто создайте функцию javascript и выполните сгенерированное событие postback:

<%=ClientScript.GetPostBackEventReference(myUpdatePanel, "")%>

Вышеуказанный оператор помещается на вашу страницу aspx и ссылается на тот же самый код, сгенерированный с сервера, чтобы вызвать обратную передачу для вашей панели. Вы можете использовать его, поставив его внутри функции на стороне клиента:

function fncUpdatePanel () {
    <%=ClientScript.GetPostBackEventReference(myUpdatePanel, "")%>;
}

Затем вы можете прикрепить эту функцию к любому событию на своей странице (даже событие mouseover). В этом примере серверная сторона присоединяет событие:

myUpdatePanel.attributes('onmouseover', 'fncUpdatePanel()')