Обновить UpdatePanel на клиенте (Update() из JavaScript)
От: Zeiss  
Дата: 24.04.07 20:33
Оценка:
Как вызвать обновление <asp:UpdatePanel> из скрипта?
Без вложенной кнопки и без <asp:AsyncPostBackTrigger>?

Сейчас я извращаюсь с помощью невидимой кнопки:


<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        … content skipped …
        <asp:Button runat="server" ID="load" Text="Load" OnClick="load_Click" Style="position:absolute;left:-999px" />
    </ContentTemplate>
</asp:UpdatePanel>

<script type="text/javascript">
function updatePanel(){
    var load = document.getElementById("<%= load.ClientID %>");
    load.click(); // это капец!  :( 
}
</script>


Да хрен бы с ним, с таким кривым workaround-ом. Но только в Firefox это не работает — вызывается полный постбэк странички.
На форуме ASP.NET AJAX куча народу задавала этот вопрос, и никакого путного результата — все как-то изворачиваются.

Напоминаю, UpdatePanel.Update() на клиенте не определена
Может, есть возможность как-то дернуть AsyncPostBackTrigger? Ну, хоть как-то?!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.