Как ... Добавить функцию на стороне клиента для кнопки обратной передачи? - PullRequest
2 голосов
/ 19 ноября 2009

У меня есть кнопка, закрывающая модальное диалоговое окно в форме ASP.NET Ajax. Как добавить функцию на стороне клиента, вызываемую одним и тем же нажатием кнопки?

в настоящее время Firebug имеет это для onclick

javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$DefaultContent$btnPaymentActionDetailClose", "", true, "", "", false, false))

Могу ли я просто добавить обработчик кликов с помощью jQuery? Я не хочу стирать постбэк, так как это необходимо для функциональности форм.

Могу ли я использовать

$("#buttonId").bind("click", function(e){
   runAnotherFunction();
});

А не мешает ли существующий постбэк?

На самом деле, по правде говоря, я хочу выполнить функцию, когда модальное диалоговое окно закрывается. Виджеты инструментария управления ajax запускают какие-либо события? Я знаю, что могу найти поведение и звонить, показывать и скрывать. Могу ли я прикрепить свою функцию к exec при выполнении modal.hide ()?

Спасибо за любой совет, ~ ck в Сан-Диего

1 Ответ

3 голосов
/ 19 ноября 2009

Да, вы обязательно можете запустить Javascript на своем клиенте до запуска. Это свойство OnClientClick веб-управления.

Для этого вам не понадобится jQuery.

<asp:button id="btn" runat="server" onClientClick="SomeJsFunction()" 
     onClick="ServerSideMethod()" Text="Hello Button" />

<script language='javascript'>
     function SomeJsFunction()
      {
         alert('hi');
      }
</script>

Если вам интересно контролировать, происходит ли обратная передача или нет, вы можете вернуться и проверить значение true / false в результате выполнения функции Javascript.

function SomeJsFunction()
{
     var isGood = false;
     return isGood;
}

<asp:button id="btn" runat="server" onClientClick="return SomeJsFunction()" 
     onClick="ServerSideMethod()" Text="Hello Button" />

(спасибо Ральф за толчок в комментариях)

...