2010-10-05 3 views
0

Voici la situation:Comment utiliser un UserControl dans le EditTemplate d'un ListVIew?

  • J'ai un ListView montrant juste une liste des chaînes concaténées obtenues à partir du champ différent des objets de la source de données.
  • A LinkButton (avec CommandName="Edit") dans chaque rangée
  • gestionnaires d'événements pour OnItemDataBound et OnItemEditing
  • A UserControl dans EditTemplate.

Maintenant, le problème est, je ne sais pas comment utiliser l'expression Bind dans UserControl. Je veux dire, comment peupler cet usercontrol quand on clique sur le linkbutton? (J'ai essayé de capturer le contrôle dans le gestionnaire OnItemEditing. Mais FindControl retourné null, comme ce gestionnaire est appelé avant va modifier le mode.)

Répondre

0

a finalement obtenu une réponse du forum asp.net. La solution est:

  • Modifiez le contrôle UserControl afin qu'il prenne en charge DataBinding. Pour ce faire, implémentez le DefaultBindingPropertyAttribute. Details here.
0
protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e) 
{ 
    TheClass theControl = (TheClass)e.Item.FindControl("theControl)"; 
    theControl.someProperty = "bla bla bla"; 
} 
+0

Le problème est, 'e.Item.FindControl ("theControl)"' ne retourne pas le usercontrol (dans le EditTemplate) – mshsayem

Questions connexes