Einfache razor templating-syntax, um ein Komma zu trennen, die Namen
Habe ich Folgendes razor template html aus, aber ich kann nicht herausfinden, wie um ein Komma zu trennen Sie die Namen in das markup!? Wenn Sie versuchen, den folgenden code bekomme ich ; expected
da ein compiler-Fehler!. Werde ich auch müssen, entfernen Sie das Letzte Komma als gut.
@foreach (People person in Model.People)
{
person.Name,
}
Ich will: Ted, James, Jenny, Tom
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was string.Beitreten statt
foreach
(zusätzlich löst es das Komma nach dem letzten Element problem):@Html.Raw(String.Join(", ", Model.People.Select(p => Html.ActionLink(p.Name, "Details").ToHtmlString()).ToArray()))
Können Sie
<text></text>
enthalten wörtliche Inhalt in einer Razor-Vorlage. Das weglassen der Letzte Komma würde ich einfor
Schleife anstattforeach
.Als @nemesv Punkte aus, wenn alles, was Sie tun, ist das erstellen und anzeigen einer durch Trennzeichen getrennte Zeichenfolge
string.Join()
ist ein sauberer Weg, dies zu erreichen. Wenn Sie mehr Gebäude Komplexes markup, werden Sie wahrscheinlich benötigen, um eine Schleife verwenden.Könnte man erreichen, das Ergebnis in kompakter Weise unter Verwendung ternärer operator
People
Sammlung ist groß. Insbesondere dann, wennModel.People
ist ein live-EF-Datenbank entity-Objekt.Eine Idee für ein Szenario, wo Sie brauchen, um eine zusätzliche "Sachen" in der foreach-Schleife als nur rendering der Anzeige.
Oder wenn Sie wie ich sind, und Sie möchten, um zu versuchen zu halten, Vergleich und Analyse-Logik aus der Sicht, kann man eine einfache extension-Methode.
Dann den code anzeigen wird..
oder besser:
Versuchen Sie dies:
Versuchen Sie so etwas wie
Ted,James,Jenny,Tom,
und nichtTed, James, Jenny, Tom