在一个aspx页面中,如果我们对同一个控件使用onClientClick
and ,事件会先触发后触发。onClick
onClientClick
onClick
onClick
我想在触发事件后做点什么。例如,对于一个Button
控件,我为其单击事件编写了代码(button1_click)
。执行此代码后,我需要触发一些 jQuery 函数,是否可能。谁能帮我?
在按钮单击事件例程结束时,使用 Page.RegisterStartupScript 使用 javascript 调用 JQuery 函数。链接中的示例。
http://msdn.microsoft.com/en-us/library/system.web.ui.page.registerstartupscript.aspx
你可以只有 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
}
希望对你有帮助
如果您想在页面回发后调用 jQuery 函数,那么有几种方法可以做到这一点。
其中之一是使用Page.RegisterStartupScript
or Page.RegisterClientScriptBlock
。这两个都会在回发后将 javascript 输出到您的页面上。
我倾向于做的另一种方法是在页面上创建一个公共字符串public string _JS
,然后在我的 .aspx 页面上我有以下代码;
<script>
$(function(){ <%=_JS%> });
</script>
通过这种方式,您可以构建_JS
字符串,并且您知道它会在 DOM 加载后触发。