Question

J'écris un formulaire Web ASP.Net contenant des contrôles DropDownList. Ensuite, l’utilisateur modifie l’élément sélectionné dans l’une des listes déroulantes. ASP.Net ne semble pas gérer l’événement SelectedIndexChanged tant que le formulaire n’est pas soumis avec un clic du bouton 'Soumettre'. Comment faire en sorte que mes listes déroulantes gèrent SelectedIndexChanged instantanément?

P.S. C’est une question classique à laquelle j'ai trop souvent répondu, mais il semble que personne ne l’avait posée auparavant sur stackoverflow.

Était-ce utile?

La solution

Définition de la AutoPostback sur true entraîne sa publication lorsque la sélection est modifiée. Veuillez noter que cela nécessite l'activation de javascript.

Autres conseils

Vous devez définir la propriété sur la propriété AutoPostBack de la liste.

De même, si vous remplissez le contenu de la liste déroulante à partir du code précédent (le contenu de la liste étant extrait d'une base de données, par exemple), assurez-vous de ne pas relier les données à chaque publication. .

Parfois, les gens sont surpris en liant la liste déroulante dans l'événement de chargement de page sans le placer dans un If Not IsPostBack . Cela fera en sorte que l'événement ne se déclenche pas.

Il en va de même pour les répéteurs et les événements ItemCommand .

si vous remplissez la liste déroulante pendant le chargement de la page, chaque fois que la publication sur la page sera rechargée, la méthode sera donc annulée. vous devez être sûr de ne charger la liste déroulante que si (! ispostback)

Définissez la propriété AutoPostBack de DropDownList sur true.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top