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

In an asp.net user control I have a button:

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

I had written jquery code to hide a control( validationsummary) present in the page inside function().

When I wrote "return function()" it behaved as I expected and the control got hidden. While when I wrote only "function"()" the control got hidden but reappeared. What exactly is the difference between the two?


Solution 1:

First : the client side runs (OnClientClick)

Then - the server side.

But

The client side code can prevent execution of server side by return true/false.

usually we use it for validation , before submitting to server.

Do this and your server side will ( without hacking) never work :

OnClientClick="return false;"