2009-02-10 8 views
0

Cela se produit uniquement dans Internet Explorer. J'ai un ListBox qui est dans un UpdatePanel. Le ListBox a environ 100 articles dedans et il montre 15 sont visibles à la fois. Ils sont classés de 1 à 100. Si je fais défiler vers le bas et sélectionnez le numéro de l'article 50, point 50 reste sélectionné, mais la zone de liste revient au haut de la liste, il affiche les points 1 à travers 15. Cela se produit uniquement dans Internet Explorer. Si je fais cela dans FireFox, l'élément sélectionné est toujours affiché, il devient juste le dernier élément visible dans la liste, ce qui signifie le point 15. Est-ce que quelqu'un sait une solution à cela et pourquoi cela se passe-t-il?ListBox dans un UpdatePanel saute vers le haut après avoir sélectionné un élément en bas?

Merci, XaiSoft

Répondre

0

Essayez réglage MaintainScrollPositionOnPostBack="true" dans votre directive (<%@ page %>)

+0

Je viens d'essayer et il défile toujours vers le haut. – Xaisoft

+0

Après avoir lu à ce sujet, je pense qu'il maintient juste la position de défilement de la page, pas la liste. (! Est arrivé avant) – Xaisoft

+0

C'est la description, bien que le soutien MS a suggéré des choses comme cela gère ListBoxes aussi bien ... si elles ont été couchées et/ou stupide –

0

Il se passe parce que quand les mises à jour UpdatePanel, il supprime tous les contenus existants (contrôles) et les recréent de HTML envoyé par le serveur. Les valeurs de contrôle sont incluses dans la mise à jour, mais pas les choses comme la position de défilement. La seule solution que je peux penser est d'utiliser javascript pour enregistrer la position de défilement avant la publication, puis le restaurer après la mise à jour du panneau de mise à jour.

+0

Quelque chose comme ceci: http: //couldbedone.blogspot .com/2007/08/restoring-lost-focus-in-update-panel.html – Xaisoft

+0

Oui, très similaire à ça. – Misko

Questions connexes