Hello,
Bon, je ne sais pas trop si c’est moi qui ai fait trop de winform ces derniers temps et qui a complétement perdu les pédales du côté d’ASP.NET, mais j’ai un truc un peu bizarre là. J’ai une classe qu’on va appeler BasicTutu
public class BasicTutu
{
public string Nom;
public string ID;
}
J’ai par ailleurs, une classe TutuRose, qui hérite BasicTutu :
[code]public class TutuRose : BasicTutu
{
}[/code]
Enfin, j’ai une classe ListeDeTutuRoses :
[code]public class ListeDeTutuRoses : List
{
public static ListeDeTutuRoses FaitPeterLaListeDesTutus()
{
// La je fait un tas de truc, mais en gros, ca se résume à
ListeDeTutuRoses tmpListe = new ListeDeTutuRoses();
foreach(TutuRose tutu in uneAutreListeDeTutusRoses)
{
tmpList.Add(tutu);
}
return tmpList;
}
}[/code]
Jusque là, tout va bien, j’ai mes tutus.
Dans une page du site, j’ai une DropDownList, que j’initialise de la sorte :
Magic, le databind se fait tout seul comme prévu, et ma dropdownlist est remplie de ligne “MonNameSpace.TutuRose”. Bien entendu, ca ne m’interesse pas plus que ca. Je dégaine donc les deux strings magiques :
ddlTutus.DataSource = ListeDeTutuRoses.FaitPeterLaListeDesTutus();
ddlTutus.DataTextField = "Nom";
ddlTutus.DataValueField = "ID";
Et là, paf magie, Exception dans ma geule, comme quoi TutuRose ne contient pas de propriété Nom (ni ID d’ailleurs) :
[code]DataBinding: ‘MonNameSpace.TutuRose’ does not contain a property with the name ‘Nom’.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: DataBinding: ‘MonNameSpace.TutuRose’ does not contain a property with the name ‘Nom’.[/code]
Ce qui est ridicule, puisqu’on sait qu’il y en a une. Par ailleurs, il semble bien voir le type de l’objet au moment du DataBind. Donc j’ai l’impression de rater un truc simple, ou d’avoir une fait connerie de n00b, mais je vois pas à quel moment là.
Note : Evidemment, tous les noms des classes utilisées ici est purement fictif et ne servent qu’à centrer l’attention sur le problème. De même elles ne se limitent pas à ce qui est décrit ici, mais j’ai juste restreint les morceaux de code aux bouts qui concerne le susdit problème B)
Merci d’avance pour vos suggestions !