+1  A: 

The CompareValidator performs the comparison all on the client side in the user's browser. If it raises an error, then it will automatically prevent the Button_Click event from firing, since a postback won't occur. I think your solution is to just perform the comparison on the server side.

Dan Fuller
+1  A: 

If the Page is not valid, why would you still want the Button_Click event to occur?

Jack Marchetti
The button is used to cancel the process that the form is used for and leave the page, so it doesn't matter whether the form is valid because its data won't be used.
StuperUser