Puedes usar los controles Anthem, cuentan con propiedades especificas que se adecuan a tus requerimientos, por ejemplo, la de cambiar el texto mientras se ejecuta una llamada al server (textduringcallback), y la de desactivar el boton mientras se ejecuta dicha llamada(enabledduringcallback='false').
http://sourceforge.net/projects/anthem-dot-net
slds.