Rather than making the button click event server-side you can make use of ajax calls.
When your button is
runat="server"
then whenever you click the whole page life cycle is repeated and hence it feels, like a refresh because in reality, the page reloads.
You can search on CP for articles on ajax if you're not familiar with the term.
You can start
here[
^].