As the page is refreshed at a Control level, we can add controls to Container Controls that aren’t refreshed during the life of the page. Client-side changes applied to those Container Controls will persist even if its child controls are refreshed by the server.
You can use this to hide and show controls on the client without changes being unexpectedly reverted by a server refresh.