J'utilise ListView avec un ObjectDataSource lié à un objet métier. Cet objet est défini comme suit:DataKeyNames dans les contrôles de base de données doit être une propriété?
public class Employee
{
public int Id;
public string Name;
}
Lorsque je tente de définir la propriété DataKeyNames de ListView à Id, ASP.net explose et dit:
DataBinding: « employé » ne contient pas une propriété avec le nom 'Id'.
Cependant, quand je change l'objet que:
public class Employee
{
public int Id {get; set;}
public string Name;
}
Il fonctionne !!!
Je n'ai trouvé aucune documentation sur ce comportement. Pourquoi n'accepte-t-il pas une variable simple pour DataKeyNames et insiste-t-il plutôt sur une propriété?
Merci de confirmer ma pensée. Je pense qu'il est étrange d'empêcher les variables de servir de DataKeyNames, mais tel est le monde de Microsoft. – md1337