J'ai un div dans une page ASPX avec débordement défini sur Auto. Le contenu de la div est créé de manière dynamique et consiste en une liste de boutons de liaison. Lorsque je scollez dans la DIV et cliquez sur l'un des boutons de liaison, le rechargement de la page perd la position de défilement à l'intérieur de la DIV et me prend au sommet de la DIV. Y a-t-il un moyen de prévenir cela? p> Notez que c'est pour un div dans la page. page.MaintenscrollPositionnervyPostBack () code> ne fonctionne pas. p> p>
5 Réponses :
Le moyen le plus simple consiste à envelopper la commande dans un panneau Update. p>
Qu'est-ce qui se passe lorsque les boutons de liaison sont pressés? Qu'est-ce que le traitement se produit au cours de la postback? P>
En fonction des réponses à ces questions, vous pouvez vouloir enquêter sur se débarrasser des postback tout à fait et effectuer les opérations nécessaires purement côté client. P>
(je suis en train d'effectuer ce genre de conversion pour un client.) P>
Lorsque vous appuyez sur le bouton de liaison, il remplit un contrôle graphique présent sur la page. On dirait que l'exécution sur le côté du client semble être la meilleure approche
Un moyen de le faire est de capturer, dans l'événement Onscroll de la DIV, les valeurs des propriétés de ScrollLeft et ScrollTop. Enregistrez ces valeurs dans une zone de texte cachée (ES). Sur le dos, utilisez les valeurs des zones de texte pour réinitialiser les propriétés. P>
Comme Jeff S mentionné une façon de gérer cette situation utilise JavaScript pour suivre la position de défilement de la Div et chaque fois que la page chargée de réinitialiser la position de défilement sur sa valeur précédente.
Voici quelques échantillons de code: P > En pratique, je ne voudrais pas mettre le JavaScript directement dans les éléments mais c'est juste un exemple. Vous pouvez également stocker la position de défilement dans un cookie à la place. P> p>
<general:ScrollSaverPanel runat="server"> <Content> <stwrw:Group runat="server" ID="rootGroup"/> </Content> </general:ScrollSaverPanel>