You can use jquery BlockUI for this. Link to Demo. This should work for all your cases (full postback and partial postback).
Add event handlers for beginRequest
and endRequest
of PageRequestManager.
In the BeginRequestHandler
you can start displaying the loading indicator with your customized settings and in the EndRequestHandler
you hide the loading indicator. If you don't want to block the whole page then this plugin has option to show the loading indicator for an element (eg. within a div in the page, refer the demo page)
Also remember to reference the jquery and the blockui plugin scripts from either CDN or from your local application.