Como estás usando UpdatePanels que vas a necesitar para enganchar en el ASP.NET AJAX PageRequestManager
Usted tendrá que añadir un método a los endRequest ganchos de eventos que son:
Se genera después de que se completa una devolución de datos asincrónica y se devuelve el control al navegador.
Por lo que tendría algo como:
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(pageLoaded);
function pageLoaded(sender, args) {
window.scrollTo(0,0);
}
</script>
lo que obligará a que el navegador para desplazarse de nuevo a la parte superior de la página una vez una solicitud de actualización se ha completado.
Hay otros eventos que podría colgados en lugar de curso:
beginRequest // Raised before the request is sent
initializeRequest // Raised as the request is initialised (good for cancelling)
pageLoaded // Raised once the request has returned, and content is loaded
pageLoading // Raised once the request has returned, and before content is loaded
La belleza de post-espaldas asíncronos es que la página va a mantener la altura de desplazamiento sin que tenga que establecer MaintainScrollPosition, ya que no hay la "recarga de página completa" está sucediendo, en este caso, realmente desea que ocurra ese efecto, por lo que tendrá que crearlo manualmente.
Editar para responder a la pregunta actualizado
Ok, así que si sólo se necesita para restablecer el Postion en ciertas pulsaciones de botón que tendrá que hacer algo como esto:
inicio enganchando en el lugar BeginRequest/así:
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Esto es debido a que en los argumentos parámetro que consigue el acceso a:
args.get_postBackElement().id
Lo que le dirá la identificación del botón que inició el evento completo - puede verificar el valor aquí, y mover la página, o almacenarla en una variable, y consultarla en la solicitud final - conocer las condiciones de carrera, etc. donde el usuario hace clic en otro botón antes de que se complete la actualización original.
Eso debe conseguir que ir con un poco de suerte - hay un buen número de ejemplos de todo esto en Working with PageRequestManager Events
Solo quiero volver a la parte superior de la página con este evento específico de ASP.NET GridView. Tengo un montón de otros botones en la misma página para los que quiero mantener la posición de desplazamiento. –