2012-12-17 7 views
0

J'utilise des formulaires Web ASP.NET et j'ai créé le contrôle de l'utilisateur d'une mesure qui représente une voiture ayant des propriétés comme le type, l'image et la couleur.Répéter un contrôle utilisateur dans l'interface utilisateur

Maintenant, j'essaie d'ajouter sur l'interface utilisateur ce contrôle personnalisé de manière répétitive. Disons que si j'ai dans la base de données 5 voitures, alors 5 contrôles utilisateur seront rendus sur l'interface utilisateur préférable à l'intérieur d'un contrôle d'asp. Je cherchais un tel contrôle, en étudiant la vue grille, et le répéteur mais ils semblent avoir comme source de données seulement des listes d'objets qui sont construits à partir de types "primitifs" pas d'objets comme une liste de mon contrôle personnalisé ascx.

Ma question est de savoir si je peux en quelque sorte à rendre ces contrôles utilisateur dans un cycle répétitif dans un aspic ou le contrôle html qui donne la possibilité de formater (prend en charge css)? (Et si oui, s'il vous plaît me donner un exemple)

+0

Pourquoi voudriez-vous rendre usercontroll il semble que vous passez des valeurs réelles dans les éléments de contrôle de l'utilisateur à la place, vous pouvez simplement générer ce articles. –

+0

Avoir un contrôle utilisateur je peux réutiliser le même format d'interface utilisateur à plusieurs endroits. – Mircea

Répondre

2

Créer une ListView avec votre contrôle utilisateur à l'intérieur de celui-ci, puis lier un List<CarObject> à cette ListView

<asp:ListView ID="listView1" runat="server"> 
    <ItemTemplate> 
     <myUC:MyUserControl ID="myUserControl" runat="server" /> 
    </ItemTemplate> 
</asp:ListView> 

Bind une liste de votre objet, comme List<Car> , à cette vue de liste, listView1.DataSource = myListOfCars;. Ensuite, dans un événement ItemDataBound, liez votre objet à votre contrôle utilisateur.

Vous pouvez également placer le balisage de votre contrôle utilisateur à l'intérieur du ListView, puis lier les informations à l'intérieur d'un événement ItemDataBound et contourner complètement le problème de contrôle de l'utilisateur. Cela vous permet toujours de réutiliser le balisage.

Questions connexes