Modèle de répéteur ASP.NET, code conditionnel pour chaque élément N
Je suis à l'aide d'un asp.net répéteur pour créer un tas d'images. L'image de balisage est tout de même de sorte que le standard <ItemTemplate>
est fine.
Cependant, je veux enrouler K images dans un div. Disons que je la lie 25+ images de la répétition et je veux de 5 images par div. Comment puis-je conditionnelle de la création de la start et des balises de fermeture de la div?
Est-ce un cas mieux adapté pour une boucle for.
source d'informationauteur ckarbass | 2009-02-18
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner pour vous, sans avoir besoin de quoi que ce soit dans le code-behind (autres que la liaison à la répétition..):
C'est ici Asp.Net WebForms peut vous donner incroyable RAD efficacité.
Vous pouvez utiliser le nouveau contrôle ListView, et définir le nombre d'éléments par "groupe", qui vous permettra d'installer le code HTML qui entoure un groupe, ainsi que chaque élément individuel. De cette façon, vous pouvez entourer le groupe avec les balises conditionnelles.
Si vous voulez garder votre annotation sur la page ASPX, vous pouvez aussi essayer cette variation sur David méthode:
Sur la page aspx:
Dans l'événement ItemDataBound dans le code-behind:
Ajouter deux vide contrôles d'étiquette dans votre Répéteurs ItemTemplate où vous voulez que vos balises div.
Puis ajouter un événement ItemDataBound à la Répétition.
Puis ajouter ce code dans l'événement ItemDataBound:
Remarque - Cette aura besoin de quelques ajustements pour faire face à la première div et vous devrez peut-être faire quelque chose comme Si (e.De l'élément.ItemIndex + 1) Mod 5 = 0 pour obtenir des divs pour montrer exactement où vous le souhaitez.
Pour plus d'info:
DataListItem.ItemIndex Propriété
DataList.ItemDataBound Événement