【发布时间】:2011-02-15 10:10:45
【问题描述】:
在我的 ASPX 页面上,有一个带有此代码的按钮:
OnClick="save_Click"
是否可以在回发之前执行Javascript,如果结果是true,那么进行回发并转到方法save_click?
【问题讨论】:
在我的 ASPX 页面上,有一个带有此代码的按钮:
OnClick="save_Click"
是否可以在回发之前执行Javascript,如果结果是true,那么进行回发并转到方法save_click?
【问题讨论】:
还有一个名为"OnClientClick" 的属性。在这里,您可以指定一个将验证的函数(我猜),或者只运行常规 javascript。
如果您的数据无效,您可以从方法中直接return false;。那应该取消你的回发
【讨论】:
你应该使用众所周知的方式:return confirm('bla bla bla')
将这个sn-p添加到页面中按钮的onclick属性或者按钮prerender方法,服务器端...
【讨论】:
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>
【讨论】:
我改变了 __doPostback 函数的定义来完成这个:
<script type="text/javascript">
var originalDoPostback = __doPostBack;
__doPostBack = function (p1, p2) {
doSomethingCustomHere();
originalDoPostback(p1, p2);
};
</script>
【讨论】: