Comment pouvez-vous définir l'élément sélectionné dans une liste déroulante ASP.NET via le texte d'affichage?
J'ai un ASP.NET liste déroulante que j'ai fait par le biais de la liaison de données. J'ai le texte qui correspond à l'affichage de texte pour le listitem je veux être sélectionné. Évidemment je ne peux pas utiliser SelectedText (getter seulement) et je ne sais pas l'index, donc je ne peux pas utiliser SelectedIndex. Je suis actuellement en sélectionnant l'élément en parcourant l'ensemble de la liste, comme montré ci-dessous:
ASP:
<asp:DropDownList ID="ddItems" runat="server" />
Code:
ddItems.DataSource = myItemCollection;
ddItems.DataTextField = "Name";
ddItems.DataValueField = "Id";
foreach (ListItem item in ddItems.Items)
{
if (item.Text == textToSelect)
{
item.Selected = true;
}
}
Est-il un moyen de le faire sans une itération à travers tous les éléments?
source d'informationauteur Ed Schwehm
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer:
Ou:
Noter que, si vous n'êtes pas certain qu'un des éléments existe correspondant à votre texte d'affichage, vous pouvez avoir besoin de vérifier les résultats de
FindByText()
pournull
.Noter que j'utilise la première approche sur une liste à sélection multiple, comme un
CheckBoxList
pour ajouter une sélection supplémentaire. J'utilise la deuxième méthode pour annuler toutes les sélections.Utiliser le
FindByText
méthode de laListItemCollection
de classe, telles que:Son travail bien ..
Ou