如何...将客户端功能添加到回发的按钮?

时间:2009-11-18 22:57:41

标签: javascript jquery events asp.net-ajax modalpopupextender

我有一个关闭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控件工具包小部件可以触发任何类型的事件吗?我知道我可以找到行为并调用show和hide。我可以在执行modal.hide()时将我的函数附加到exec吗?

感谢您的任何建议, 〜在圣地亚哥

1 个答案:

答案 0 :(得分:3)

是的,在回发之前,您肯定可以在客户端上运行ASP:Button Javascript。它是webcontrol的OnClientClick属性。

你不需要jQuery。

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

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

如果您有兴趣控制是否发生回发,您可以从Javascript函数的结果返回并检查是否为true / false。

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

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

(感谢Ralph评论中的轻推)