как вызвать панель обновления в функции JavaScript - PullRequest
12 голосов
/ 28 июля 2011

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

Ответы [ 2 ]

20 голосов
/ 28 июля 2011

Я думаю, что если вы поместите скрытую кнопку в панель обновлений и сможете использовать 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>
3 голосов
/ 28 июля 2011

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

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

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

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

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

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