Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID

Обновление UpdatePanel с помощью клиентского скрипта

Иногда бывает ситуация, когда необходимо обновить UpdatePanel с клиентского скрипта. Я использую следующий простой способ: размещаю обычную кнопку (например asp:Button) на форму, после чего прописываю её как триггер для UpdatePanel, которую необходимо обновить. После чего нам необходимо имитировать нажатие на кнопку с помощью клиентского скрипта. Это можно сделать, нарочно вызвав метод __doPostBack. Этот метод можно сгенерировать серверным вызовом

 

Page.ClientScript.GetPostBackEventReference(RefreshButton, "")

 

Где RefreshButton – это вот та самая кнопка.

 

 

string str = "<script language=javascript>";

str += "function RefreshButtonFunction()";

str += "{";

str += "    " + Page.ClientScript.GetPostBackEventReference(RefreshButton, "") + ";";

str += "}";

str += "</script>";

 

RegisterStartupScript("scr" + this.ClientID, str);

 

Данный серверный код генерирует следующий клиентский код:

 

function RefreshButtonFunction()

{

    __doPostBack('ctl00$ContentPlaceHolder1$RefreshButton','');

}

 

Вызывая эту функцию, мы по сути имитируем нажатие на кнопку RefreshButton, а т.к. она привязана к UpdatePanel как триггер – то следовательно и будет обновлена UpdatePanel.

Теперь последний штрих – размещаем эту кнопку в нулевой фрейм (чтобы ее не было видно) и устанавливаем для страницы EnableEventValidation="false"

 

Enjoy

Опубліковані 26-10-2006 09:52 від Oleg Shastitko
Зареєстрований як ,

Коментарі

 

ruslanrff said:

Отличное решение, простое и изящное.

November 10, 2006 4:14 AM
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.

Календар повідомлень

<October 2006>
SMTWTFS
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

Пошук

Go

Синдикація

SkinName:iroha_Blog2