En páginas web largas, es preferible mantener la posición del scroll en la misma después de hacer postback, de manera que el usuario continúe donde se quedó. Para conseguirlo, podemos utilizar tres métodos, uno global a la aplicación y el resto específico a cada página:
- En el archivo de configuración Web.config, ubique la sección <pages> y agregue el siguiente atributo estableciendo a su valor a “true”:
maintainScrollPositionOnPostBack="true"
Lo anterior mantendrá la posición del scroll para todas las páginas web de sitio. - En la declaración a nivel de página (@Page), agregue el atributo homólogo al anterior con el mismo valor:
<%@ Page MaintainScrollPositionOnPostback="true" %>
Con esto se mantiene la posición del scroll únicamente para la página en cuestión. - Se se requiere realizarlo mediante código, se puede utilizar: System.Web.UI.Page.MaintainScrollPositionOnPostBack = true; Lo cual es equivalente a realizarlo en la declaración a nivel de página.
+info:
- Elemento <pages>
- Directiva @Page
- Page.MaintainScrollPositionOnPostBack
Gracias x la ayuda!!
Excelente!! funciona a la perfeccion… muchas gracias por la info…
Gracias, muy util
Gracias por la ayuda!
funciona en otro navegador que no sea IE??
Respuesta rápida (y para fines prácticos): No.
Dado que se trata de una funcionalidad responsabilidad del browser, funciona en los browsers que implementen dicha funcionalidad. Entre ellos y principalmente IE, pero me parece que también otros lo están implementando…
To support the scroll position capability in Chrome, you need to follow the steps given below:
Add the following line of code in the Page_Load of the page for which you want to maintain the scroll position.
this.MaintainScrollPositionOnPostBack = true;
Right click on the project.
Click on “Add” -> “Add New Item”.
In the “Add New Item” window, select “Browser File” and click “Add”.
Application will ask you to place this file in “App_Browsers” folder, click “Yes”
Now add the capability of maintaining the scroll position as follows:
<browsers>
<browser refID="Safari1Plus">
<capabilities>
<capability name="supportsMaintainScrollPositionOnPostback" value="true" />
</capabilities>
</browser>
</browsers>
Pues a mi no me funcionó ninguna solución
Toma en cuenta que la nota fue escrita hace tiempo para ASP.NET WebForms y cumpliendo ciertas condiciones… Ahora existen nuevos patrones y formas de trabajar con ASP.NET.
Espero encuentres la solución a tu problema y nos la aportes en un comentario. Gracias de antemano.
Saludos.