как запустить панель обновления в функции JavaScript

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

12 голосов | спросил Fer 28 J000000Thursday11 2011, 12:49:00

2 ответа


0

Я думаю, что если вы поместите скрытую кнопку в панель обновлений и сможете использовать 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>
ответил Samir Adel 28 J000000Thursday11 2011, 12:54:46
0

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

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

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

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

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

myUpdatePanel.attributes('onmouseover', 'fncUpdatePanel()')
ответил rkw 28 J000000Thursday11 2011, 12:56:42

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132