2009-12-16 17 views

Respuesta

11

Se puede registrar el un javascript para mover el desplazamiento a la posición de algunos control que desea, así:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (IsPostBack) 
     { 
      RegisterStartupScript("ScrollScript", "document.getElementById('objectId').scrollIntoView(true);"); 
     } 
    } 

Cambio de la objectId en el guión para la identificación del objeto que desea desplazarse a.

Como se ha señalado por Guy Starbuk en los comentarios, RegisterStartupScript está en desuso en .Net 4 y ahora el método recomendado para registrar un script es:

ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "document.getElementById('objectId').scrollIntoVie‌​w(true)", true); 
+3

Esta es una gran respuesta y trabajaron para mí - algo a destacar es que RegisterStartupScript está en desuso en .NET 4, he utilizado la siguiente: ClientScript.RegisterStartupScript (GetType(), "ScrollScript", " document.getElementById ('ContentPlaceHolder1_postSaveMessageDiv'). scrollIntoView (true) ", verdadero); –

0

Crear un ancla en la página, a continuación, en el proceso de carga:

window.location.href = "#myanchor" 
13

de Hosam Kamel's page

para mantener la posición de desplazamiento de la página web grande se puede utilizar en uno de estos métodos:esta voluntad mantiene las posiciones de desplazamiento para todas las páginas del sitio web: sección de la página Web.config <pages maintainScrollPositionOnPostBack="true" />

1- uso.

2- en la declaración de la página <%@ Page MaintainScrollPositionOnPostback="true" %>: esto mantendrá la posición de desplazamiento solamente para esta página.

3- programáticamente desde el código detrás de System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;: esto mantendrá la posición de desplazamiento solamente para esta página (lo mismo que la declinación de la página).

+0

Cómo usar su agrego <% @ Page MaintainScrollPositionOnPostback = "true"%> pero no funciono al final? –

+0

esa posición de desplazamiento actual? –

+0

lo siento, he entendido mal el problema. Tuve una situación similar en la que el usuario se desplazaba hacia la parte inferior de la página, hacía una publicación y perdía la posición de desplazamiento. Ahora entiendo que el usuario debe ir directamente al final de la página después de la devolución – ram

0

Algo que falta en las respuestas aquí es un retraso. Todo está bien si no hay cambios en la altura de la página web durante la carga. Pero si hay muchas imágenes y su intento de deslizamiento pasado; pueden reactivar tu vista nuevamente.

Lo que se necesita es una función de llamada window.onload:

ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "window.onload = function() {document.getElementById('objectid').scrollIntoView(true);}", true); 
0

En las páginas web de ASP.NET se puede añadir un evento OnClientClick al control haciendo que el servidor de correos para desplazarse por la página a la parte inferior.

<asp:Button ID="MyButton" runat="server" Text="Submit" OnClick="MyButton_Click" OnClientClick="window.scrollTo(0, document.body.scrollHeight);" /> 
Cuestiones relacionadas