0
votes

Réglage de la sélectionIndex sur 0 pour une liste déroulante avec Autopostback Set sur true

J'utilise un bouton déroulant avec Autopostback défini sur true. J'essaie de réinitialiser la liste déroulante à la sélection par défaut de la page Post-foret - Dropdown.Selectedindex = 0;. La liste déroulante est réinitialisée à la sélection par défaut, mais je ne parviens pas à effectuer une sélection car elle revient en continu à la position par défaut "Faire une sélection" immédiatement après avoir sélectionné une autre option. Je ne sais pas si cela importe, mais cela est placé dans un panneau de mise à jour.

L'une des raisons pour lesquelles j'ai besoin pour définir à 0 est que lorsque je clique sur la touche Retour du navigateur, la dernière sélection est sélectionnée et si l'utilisateur tente de revenir à la même sélection, cette sélection particulière dans le Dropdown ne fonctionne pas à moins d'actualiser la page. Par exemple. Choix 1 me redirige à la page2. Si je clique sur Retour, le choix 1 est toujours sélectionné. Si je clique sur la liste déroulante pour sélectionner le choix 1 à nouveau, rien ne se passe à moins d'actualiser la page. Voici mon dropdown HTML: P>

if (IsPostBack)
        {                
            DropDown.SelectedIndex = 0;

        }


1 commentaires

Si (ispostback) est redondant car la pageLOAD est automatiquement appelée


3 Réponses :


0
votes

Sur la base de ce que vous rencontrez, je pense que c'est votre navigateur Qu'est-ce que vous restaurez votre état de contrôle lorsque vous utilisez le bouton Back du navigateur.

Un moyen d'éviter que ce comportement consiste à ajouter le autocomplete = "OFF" < / code> à votre élément, par exemple: xxx

si ajouter le autocomplete = "OFF" seul ne suffit pas, indiquez également au navigateur de ne pas mettre en cache la page en envoyant les en-têtes suivants, par exemple, à partir de votre méthode de page_load: xxx

N'oubliez pas de supprimer la ligne de la ligne dropdown.selectedindex = 0; avant d'essayer cette solution.


0 commentaires

0
votes

Il y a quelques raisons:

  1. premier besoin de retirer:

    si (ispostback) {
    Dropdown.Selectedindex = 0;
    }

    Comme vous avez autopostback = "true" activé, page_load sera appelé avec le OnSelectedindexchanged événement qui modifie le fichier sélectionné sur 0.

    1. également, doit vous assurer que activer.Viewstate est défini sur true.

0 commentaires

0
votes

Veuillez utiliser le code suivant dans la page Charger

if (!IsPostBack)
{                
    DropDown.SelectedIndex = 0;
}


0 commentaires