Comment lier le ASP.NET dans la liste déroulante propriétés de datatextfield propriété d'une propriété nested
Je veux lier la DataTextField
propriété d'un ASP.NET déroulant le contrôle à une propriété d'un objet qui est une propriété de la source de données initiale. Comment pourrais-je accomplir cette tâche particulière.
Déroulant de la source de données de schéma de données
public class A
{
public string ID { get; set; }
public B { get; set; }
}
public class B
{
public string Name { get; set; } //want to bind the DataTextField to this property
}
ASP.NET code derrière
DropDownList MyDropDownList = new DropDownList();
List<A> MyList = GetList();
MyDropDownList.DataSource = MyList;
MyDropDownList.DataValueField = "ID";
Si vous avez plus de 1 B dans la liste, qui B doit être utilisé pour obtenir le Nom de la propriété?
baud - j'ai mis à jour la question avec le bon scénario.
Dans votre scénario, vous êtes liant directement à l'encontre d'une liste de B et A (qui contient l'ID que vous souhaitez lier) est nulle part pour être vu.
Baud - j'ai corrigé l'erreur dans le code source
Ainsi, par exemple, si
baud - j'ai mis à jour la question avec le bon scénario.
Dans votre scénario, vous êtes liant directement à l'encontre d'une liste de B et A (qui contient l'ID que vous souhaitez lier) est nulle part pour être vu.
Baud - j'ai corrigé l'erreur dans le code source
Ainsi, par exemple, si
GetList
renvoie une liste de 5 Un et chacun de ces 5 A contient une liste de 5 B, attendez-vous de votre DropDownList d'avoir 5 points (1 pour chaque) ou 25 points (1 pour chaque B dans chaque Une)?OriginalL'auteur Michael Kniskern | 2011-04-19
Vous devez vous connecter pour publier un commentaire.
Dire que vous avez une Liste de, et que vous voulez A. ID pour le champ ID, et A. B. le Nom de Nom de domaine, vous ne pouvez pas lier à B. Nom directement, de sorte que vous devez créer une nouvelle propriété sur Un pour extraire le nom de la propriété B de Un ou vous pouvez utiliser Linq pour créer un type anonyme qui le fait pour vous comme ceci:
OriginalL'auteur Chris Mullins
OriginalL'auteur Kisan
Voici 2 exemples pour la liaison d'une liste déroulante dans ASP.net à partir d'une classe
Votre page aspx
Votre aspx.cs page
Votre jour.cs (classe jour.cs)
OriginalL'auteur Pascal Carmoni
Il vous manque l'important DataBind ligne!
OriginalL'auteur csharpsql