Simple rasoir syntaxe spécifique pour inclure une virgule pour séparer les noms de
J'ai la suite de rasoir modèle html, bien que je ne peux pas comprendre comment inclure une virgule pour séparer les noms dans le balisage!? Lorsque vous essayez le code suivant je reçois ; expected
comme une erreur de compilation!. Je vais aussi avoir besoin de supprimer la dernière virgule ainsi.
@foreach (People person in Model.People)
{
person.Name,
}
Je veux: Pierre, Jacques Jenny, Tom
Vous devez vous connecter pour publier un commentaire.
Ce sujet chaîne de caractères.Rejoindre au lieu de
foreach
(encore résout la virgule après le dernier élément de problème):@Html.Raw(String.Join(", ", Model.People.Select(p => Html.ActionLink(p.Name, "Details").ToHtmlString()).ToArray()))
Vous pouvez utiliser
<text></text>
pour inclure le contenu littéral dans un modèle de Rasoir. Pour omettre la dernière virgule, je voudrais utiliser unefor
boucle plutôt que deforeach
.Comme @nemesv, si tout ce que vous faites est de créer et d'afficher une chaîne délimitée,
string.Join()
est le moyen le plus propre pour accomplir cette tâche. Si vous êtes à la construction de balises plus complexe, vous aurez probablement besoin d'utiliser une boucle.Vous pourriez obtenir le résultat de façon compacte à l'aide opérateur ternaire
People
collection est importante. Surtout siModel.People
est un live EF base de données de l'entité de l'objet du jeu.Une idée pour un scénario où vous avez besoin pour faire des "trucs" dans la boucle foreach que juste le rendu de l'affichage.
Ou si vous êtes comme moi et que vous voulez essayer de garder la comparaison et l'analyse logique de la vue, vous pouvez écrire une simple extension de la méthode.
Puis le code de la vue devient..
ou mieux:
Essayez ceci:
Essayer quelque chose comme
Ted,James,Jenny,Tom,
et pasTed, James, Jenny, Tom