2010-05-20 1 views
3

Je dois faire défiler vers le haut de la page après une publication asynchrone dans un panneau de mise à jour. J'ai essayé quelques méthodes, et bien qu'ils défilent tous vers le haut de la page, ils sont tous "surchargés" par ASP.Net Ajax qui retourne la page où elle était quand la publication se produit. J'ai déjà défini MaintainScrollPositionOnPostBack = "false" dans la directive Page.Faire défiler vers le haut de la page après ASP.Net Ajax Async-Postback sans JQuery

Répondre

3

Avez-vous essayé window.scrollTo (0, 0); ?

Si vous avez, peut-être combiner avec setTimeout

window.setTimeout("window.scrollTo(0, 0)", 3000); 

Bien que je pense que cela pourrait produire quelque saut laid autour.

Une alternative serait de connecter le gestionnaire d'événements EndRequest

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
function EndRequestHandler(sender, args) 
{ 
    window.scrollTo(0, 0); 
} 
+0

Oui, mais comme je l'ai dit, défile ASP.Net retour à l'endroit où le clic a eu lieu. –

+0

window.setTimeout ("window.scrollTo (0, 0)", 3000); –

+0

Réglage du délai d'attente travaillé! Yay! –