En parcourant une liste de rasoir et l'ajout d'un séparateur entre les éléments
J'ai une liste d'articles que je veux de sortie dans un rasoir vue. Entre chaque élément, je veux ajouter un séparateur de ligne, comme ceci:
item1 | item2 | item3
La façon la plus simple pour faire une boucle sur les éléments est avec un foreach:
@foreach(var item in Model.items){
<span>@item.Name</span> |
}
Malheureusement, ce qui ajoute une ligne de séparation à la fin de la liste. Est-il un moyen simple de passer cette dernière ligne de séparation?
OriginalL'auteur Marius | 2013-03-18
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
string.Join
:À l'aide de
string.Join
nie la nécessité de vérifier le dernier élément.Vous pouvez le mélanger avec un Rasoir
@helper
méthode plus complexe balisage:Vous pouvez même créer une méthode d'aide à l'abstrait le
Html.Raw()
etstring.Join()
appels:Utilisation:
Cela semble approprié seulement pour les très simple boucle organes.
Vrai, voir modification d'amélioration sur ce front...
Désolé, j'ai ajouté le code Html.Raw méthode
voir mon dernier edit avec HtmlHelper extension
OriginalL'auteur Oliver
Combinant les autres réponses ici avec cet article inline sur les modèles, je suis venu avec cette méthode d'assistance, qui peut être mis dans une classe d'extension:
La manière de l'utiliser serait alors
Ce prend en charge le html dans les deux articles et le séparateur.
OriginalL'auteur Marius
Ne sais pas si c'est la façon la plus simple, ou si c'est une façon plus élégante, mais vous pourriez faire quelque chose comme;
Donc, vous êtes essentiellement de la vérification pour voir si le
item
est le dernier élément de la liste.Pas essayé cet exemple de code, de sorte que vous pourriez avoir besoin à l'ajustez.
OriginalL'auteur Tim B James
Garder une variable de compteur et de l'intérieur de la boucle et de vérifier si cela est le dernier élément ou non.
et la version courte est
OriginalL'auteur Shyju