Mantener scroll luego de un postback (incluso de UpdatePannel)

Estuve trabajando con un treeview el cual estaba dentro de un div (que tenía scrolls) y los cuales estan dentro de un UpdatePannel y por cosas del destino tuve que hacer que al pulsar el boton "+" del TreeView ésto me genere un postback dentro del UpdatePannel.

Hasta aquí todo perfecto pero sucedía que como había un postback, los scrolls del div se seteaban a su estado original (arriba y a la derecha) cada vez que hacía clic en el botón "+".

Buscando un poco encontré la solución aquí.

Y resultó ser tan sencillo como agregar éste script LUEGO de cualquier ScriptManager que pueda existir (recomiendo agregarlo al final, justo antes del </body>):

<script type="text/javascript">
 var xPos, yPos;
 var prm = Sys.WebForms.PageRequestManager.getInstance();
 prm.add_beginRequest(BeginRequestHandler);
 prm.add_endRequest(EndRequestHandler);
 function BeginRequestHandler(sender, args) {
  xPos = document.getElementById('divScrolls').scrollLeft;
  yPos = document.getElementById('divScrolls').scrollTop;
 }
 function EndRequestHandler(sender, args) {
  document.getElementById('divScrolls').scrollLeft = xPos;
  document.getElementById('divScrolls').scrollTop = yPos;
 }
</script>

Nota anti dummies: es necesario cambiar el valor de "divScrolls" por el id del control con el que vayan a trabar.

Sólo para explicarlo muy genéricamente, lo que se hace es generar eventos en la página (BeginRequestHandler y EndRequestHandler) para que antes de ejecutar un PostBack se guarden los valores del scroll y luego del PostBack se seteen los valores guardados previamente.

La funcionalidad también se puede trabajar con Jquery reemplazando los
document.getElementById('
por
$('#

Depende de los gustos de cada uno =)