0

在一个aspx页面中,如果我们对同一个控件使用onClientClickand ,事件会先触发后触发。onClickonClientClickonClick

onClick我想在触发事件后做点什么。例如,对于一个Button控件,我为其单击事件编写了代码(button1_click)。执行此代码后,我需要触发一些 jQuery 函数,是否可能。谁能帮我?

4

3 回答 3

2

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

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

于 2012-05-24T13:28:58.283 回答
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
            }

希望对你有帮助

于 2012-05-24T13:32:34.670 回答
1

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

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

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

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

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

于 2012-05-24T13:33:09.770 回答