Que divertido es Javascript, y como echaba de menos un proyecto como el de ahora, casi todo en cliente, pero a pelo sin esas maravillosas facilidades que aporta Silverlight...., bueno algunas si, haciendo uso de Framework de AJAX de Microsot. El contenido de este Post es el típico conocimiento que en mi caso nunca me acuerdo y tengo que echar manos de algun proyecto para recuperarlo. Nunca Mais
-
var xPos, yPos;
-
var prm = Sys.WebForms.PageRequestManager.getInstance();
-
prm.add_beginRequest(BeginRequestHandler_scroll);
-
prm.add_endRequest(EndRequestHandler_scroll);
-
-
function BeginRequestHandler_scroll(sender, args) {
-
if (document.getElementById('gridClientScroll')) {
-
var item = document.getElementById('gridClientScroll');
-
-
xPos = item.scrollLeft;
-
yPos = item.scrollTop;
-
}
-
}
-
function EndRequestHandler_scroll(sender, args) {
-
-
if (document.getElementById('gridClientScroll')) {
-
var item = document.getElementById('gridClientScroll');
-
-
item.scrollLeft = xPos;
-
item.scrollTop = yPos;
-
}
-
}
El código creo que no necesita explicación. Simplemente obtenemos los valores X e Y de elemento con Scroll que queremos persistir después del postback y lo guardamos, para posteriormente, volverlos a establecer. Para ello, añadimos un manejador de eventos para antes y después del postback asíncrono, de manera que cada uno de ellos ejecute la función que le especificamos.
mayo 28th, 2010 at 13:53
Bieeeeeeeeen!! Por fin algo que funciona de verdad, no como el puñetero MaintainScrollAfterPostback!
Muchas gracias, me ha sido muy útil!