在我的ASPX页面上,有一个带有以下代码的按钮:
OnClick="save_Click"
是否有可能在回发之前执行Javascript,如果结果是true
,那么回发并转到方法save_click
?
答案 0 :(得分:7)
还有一个名为"OnClientClick"
的属性。在这里你可以指定一个函数来验证(我猜),或者只运行常规的javascript。
如果您的数据无效,则可以从该方法中return false;
。这应取消你的回发
答案 1 :(得分:1)
你应该使用众所周知的方式:return confirm('bla bla bla')
将此代码段添加到页面中的按钮的onclick属性或按钮预呈现方法,服务器端......
答案 2 :(得分:1)
http://msdn.microsoft.com/en-us/library/7ytf5t7k.aspx
<%@ Page Language="C#" %>
<script runat="server">
protected void Button1_Click(Object sender, EventArgs e)
{
Label1.Text = "Server click handler called.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<form id="form1" runat="server">
<asp:Button ID="Button1" Runat="server"
OnClick="Button1_Click"
OnClientClick="return confirm('Ready to submit.');"
Text="Test Client Click" />
<br />
<asp:Label ID="Label1" Runat="server" text="" />
</form>
</body>
</html>
答案 3 :(得分:1)
我改变了__doPostback函数的定义来完成这个:
<script type="text/javascript">
var originalDoPostback = __doPostBack;
__doPostBack = function (p1, p2) {
doSomethingCustomHere();
originalDoPostback(p1, p2);
};
</script>