Asp .NET Button - OnClientClick =“return function()”vs OnClientClick =“function()”

时间:2013-11-17 08:45:39

标签: c# javascript jquery asp.net

在asp.net用户控件中,我有一个按钮:

<asp:Button ID="addButton" runat="server" Text="Add"  OnClientClick="return function()". 

我编写了jquery代码来隐藏function()中页面中的控件(validationsummary)。

当我写“return function()”时,它表现得像我预期的那样,控件被隐藏了。虽然当我只写“function”()时“控件被隐藏但又重新出现。两者之间究竟有什么区别?

1 个答案:

答案 0 :(得分:19)

首先:客户端运行(OnClientClick

然后 - 服务器端。

<强>但是

客户端代码可以通过返回true / false来阻止执行服务器端。

通常我们会在提交给服务器之前将其用于验证。

这样做,你的服务器端(没有黑客攻击)永远不会工作:

OnClientClick="return false;"