J'ai un certain nombre de listes déroulantes intégrées dans un gridview. Quand je soumets la boucle de page I à toutes les lignes de la gridview et utiliser la méthode FindControl pour obtenir le dropdownlist par exemple:DropDownList Élément sélectionné incorrect lors de l'utilisation de FindControl
foreach (GridViewRow gvrItem in gvItems.Rows)
{
DropDownList ddlOption = gvrItem.Cells[2].FindControl("ddlOption") as DropDownList;
}
Cela fonctionne bien, mais lorsque je tente d'obtenir l'élément sélectionné de l'ex DropDownList:
ddlOption .SelectedItem.Text
Il retourne toujours le premier élément de la liste plutôt que ce qui est réellement sélectionné dans la page. Des idées de ce que je fais mal?
oo fait après une publication - il devrait y avoir aucun besoin de lier de nouveau le GRIDVIEW, tant que 'EnableViewState' est réglé sur'on'. –
Il ne dit pas qu'il est nécessaire de relier le gridview. Il est en train de dire que le moment où l'on accède à la liste déroulante n'est peut-être pas le meilleur. Après que le gridview a été databound peut être un meilleur moment pour essayer d'accéder à la valeur sélectionnée. – AGoodDisplayName
Je le fais déjà, on clique sur un bouton et la méthode page_init s'exécute d'abord (Cette base de données affiche la grille et ajoute dynamiquement la liste déroulante à la grille). Ensuite, la méthode des boutons parcourt à quel point le code ci-dessus s'exécute. La chose folle est que j'ai déjà quelque chose de similaire sur une page séparée. Je me bats pour voir le différent dans les deux –