2011-06-13 6 views
1

Je suis la liaison de données une collection IQueryable des fournisseurs à une zone de liste comme suit dans mon cas de chargement de la page ...ListBox avec Entity Framework

 SupplierRepository sr = SupplierRepository.GetInstance(); 
     lbSuppliers.DataSource = sr.FindAll(); 
     lbSuppliers.DataTextField = "SupplierName"; 
     lbSuppliers.DataValueField = "SupplierID"; 
     lbSuppliers.DataBind(); 

Mais pour une raison quelconque lorsque je tente d'obtenir le SelectedValue de la liste box comme suit il retourne null, même si je peux voir les valeurs dans la vue source html à l'exécution.

lbSuppliers.SelectedValue.ToString(); 

Semble un problème très basique, mais je suis bloqué. Est-ce parce que j'utilise une collection EF pour la source de données?

Répondre

3

Liez-vous tous les PageLoad? Si vous l'êtes, le SelectedItem disparaîtra.

Essayez d'encapsuler le code DataBinding dans un bloc If (!IsPostBack).

+0

Doh! ... erreur d'écolier ... merci. – suggy1982

+0

Ca se passe pour le meilleur d'entre nous :) –