我有按钮,点击后,将记录提交到数据库中。我想要做的是在点击该按钮后触发javaScript函数。我遇到的问题是它总是在记录插入之前触发。我是这个客户端脚本的新手并注册它,所以请原谅我对这个主题的忽视。我已经尝试过RegisterClientScriptBlock,RegisterStartupScript和RegisterOnSubmitStatement,但没有得到想要的结果。我的代码如下。非常感谢任何帮助。
' on load
If (Not ClientScript.IsClientScriptBlockRegistered("alert")) Then
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert",
"alertHello()", True)
End If
'button clicked
Button1.Attributes.Add("onclick", " return alertHello();")
答案 0 :(得分:0)
尝试使用
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE=""JavaScript"">alert("alertHello()")</SCRIPT>")
答案 1 :(得分:0)
听起来事件正在解雇,因为这就是onclick的作用;它调用onclick事件处理程序,然后如果事件没有被取消,那么按钮会做什么,否则,在WebForms中,它会回发到服务器。当然,在 数据发送到服务器之后,才能插入记录。
如果点击按钮刷新整个页面,那么您必须安排新页面来运行您的javascript。 @Gage's answer显示了一种方法。请记住,这不在带有按钮的页面中,它位于您单击按钮后的页面中。
您还可以通过ajax提交添加记录的请求,然后页面不会刷新。相反,您创建一个ajax请求,并设置一个回调,这是一个在ajax请求完成时运行的javascript例程。您可能会发现此SO主题对此有用:Using jQuery for AJAX with ASP.NET Webforms