2012-06-21 58 views
1

我很疑惑为什么这个返回false不取消回发。返回false不取消asp.net回发

function validate() { 
     return false; 
     } 



<asp:Button ID="Button1" type="submit" OnClientClick="validate();" runat="server" Text="send" /> 

最疯狂的是,下面的代码不会取消,回传,但我需要这在功能发生像上面:

<asp:Button ID="Button1" type="submit" OnClientClick="return false;" runat="server" Text="send" style="margin-right:150px;" /> 

回答

5

尝试从你的函数返回值,lik e

<asp:Button ID="Button1" type="submit" OnClientClick="return validate();" runat="server" Text="send" /> 

否则,您只是执行一个返回布尔值的javascript函数。

+0

是的,就是这样。谢谢! –

1

尝试使用此

<input type"button" id="Button1" onclick="validate();"> 

如果你不需要回发,那么你不需要一个asp:按钮

0

乔纳斯佩尔松的回答一点点额外的那些谁使用他们ButtonUpdatePanel为AJAX回传内:当Button呈现,onclick属性看起来像

<input ... onclick="OnClientClick_property; generated_ajax_postback();" /> 

要使确保generated_ajax_postback();执行,你必须OnClientClick_property一些这样的:if (!validate) return false;

否则,它会返回true,并且不会回传的。