A: 

You shouldn't use Response.Write in the event handler for a button. Really you shouldn't use Response.Write() at all unless you're handling ALL of the response generation manually (and then you might as well use an ashx instead of aspx).

One workaround is to place a literal control on the page where you want your text to be displayed and in the button click event set the value of the literal.

Sam
A: 

The updatePanel is an automatic way of ajax, and can not work with Response.Write() because is needs to render on memory what is going to send, and not pass from the page. The Respose.Write() send the output to the client directly, is like a direct output to the client page, but without having this page. So the Respose.Write() on updatePanel throw an exception.

Replace the Respose.Write() with probably a literal, and place inside the literal the output that you like to show.

Aristos