5 oct 2009

Manteniendo la Posición

En .Net 1.1 existía una propiedad de las paginas .aspx que se llamaba SmatNavigation y que tenia la función de determinar si estaba o no habilitados los desplazamientos inteligentes. Entiéndase estos como que entre cada post back de la pagina se mantuviese la posición del scroll. Esto es especialmente útil en paginas con mucho contenido en el que el usuario tiene que "scrollear" y en media pagina hacer postback. No debería por que tener que volver a bajar hasta la posición en la que ya estaba.

Pues bien resulta que jubilaron prematuramente a la propiedad smartNavigation, está obsoleta desde la versión de .Net 2.0. Si queremos que nuestros usuarios no se quejen por que pierden la posición cada vez que hacemos postpack debemos usar la propiedad MaintainScrollPositionOnPostBack (así o un poco mas especifico el nombre?)

De manera que si queremos que aplique para todo un sitio, nos vamos al web.config y en la sección < Pages > añadimos el atributo:
       MaintainScrollPositionOnPostBack = "true"

Si lo necesitamos a nivel de pagina, sería:
<%@Page MaintainScrollPositionOnPostBack = "true" %>

Y finalmente si tuviéramos que definirlo a nivel de código, probablemente en el método Load de la página, utilizaríamos:
System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;

A tener en cuenta entonces.

Roy {aka. Foy}

Autor & Editor

Desarrallador y líder técnico, con experiencia en tecnologías Microsoft desde los tiempos del VB6 y el asp clásico hasta el .Net Core, pasando por COM+, javascript, angularjs, Ionic, xaml, cordova, MVC, Web Api, Sql Server, Oracle... . Ávido lector, apasionado programador.