Je sais que cette question a déjà été répondue, mais je pense que j'ai une solution plus simple. J'avais besoin d'une solution côté client et cela a très bien fonctionné.
Ce qui m'arrivait était que j'ai chargé une page et ensuite chargé un panneau après chargement de la page principale. Si je fais défiler ma page principale du tout alors quand le panneau a fini de charger, toute ma page ferait défiler vers le haut. Donc, ce code garde trace de tout défilement que je pourrais faire pendant le chargement de mon Panel. Ensuite, une fois que le Panel a fini de charger, au lieu de faire défiler vers le haut, la page défile juste à l'endroit exact où je me trouvais. Jusqu'à présent, cela fonctionne très bien dans IE, Chrome, FF, Opera et Safari
<script type="text/javascript">
var yPos;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequestHandler);
$(window).scroll(function() { yPos = $(window).scrollTop(); });
function EndRequestHandler(sender, args) {
$(window).scrollTop(yPos);
}
</script>
J'ai ce même problème, et MaintainScrollPositionOnPostback ne résout pas. L'accent est là où il devrait être; la page défile aussi haut que possible tout en gardant le contrôle ciblé visible. Cela affecte Chrome et Firefox, mais pas IE. Je n'ai pas ce problème quand j'utilise mon propre Ajaxery côté client - seulement avec UpdatePanel. –