在执行服务器端onClick事件按钮后调用jQuery函数。

时间:2012-05-24 13:13:42

标签: jquery asp.net

在aspx页面中,如果我们对同一个控件使用onClientClickonClick,则会先触发onClientClick事件,然后触发onClick

我想在触发onClick事件后做一些事情。例如,对于Button控件,我为其点击事件(button1_click)编写了代码。执行这段代码后,我需要激活一些jQuery函数,是否可能。有谁可以帮助我?

3 个答案:

答案 0 :(得分:2)

在按钮单击事件例程结束时,使用Page.RegisterStartupScript使用javascript调用JQuery函数。链接示例。

http://msdn.microsoft.com/en-us/library/system.web.ui.page.registerstartupscript.aspx

答案 1 :(得分:1)

你可以只拥有onClientClick =“PostData”

<script language="javascript">
  function PostData(){
     //do something here
     __doPostBack("triggerBTN", "@@@@" + _paymentPageData);
  }
</script>

在你的aspx页面中添加一个隐藏按钮

 <asp:Button runat="server" ID="triggerBTN" Visible="false" />

在代码隐藏页面

var postBackArg = Request["__EVENTARGUMENT"];
        if (postBackArg != null)
            if (postBackArg.StartsWith("@@@@")) {
               //do your business logic here
            }

我希望它可以帮到你

答案 2 :(得分:1)

如果您想在页面回发后调用jQuery函数,那么有几种方法可以做到这一点。

其中一个使用Page.RegisterStartupScriptPage.RegisterClientScriptBlock。这两个都会在回发后将javascript输出到你的页面上。

我倾向于做的另一种方法是在页面public string _JS上创建一个公共字符串,然后在我的.aspx页面上,我有以下代码;

<script>
    $(function(){ <%=_JS%> });
</script>

通过这种方式,您可以构建_JS字符串,并且知道在DOM加载后它会触发。