Ich versuche, mithilfe der Razor-Ansichts-Engine eine HTML-Liste zu rendern, die wie folgt aussieht:
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
Der Code, den ich zum Rendern dieser Liste verwenden möchte, lautet:
<ul>
@foreach (var item in Model.TheItems)
{
<li id="[email protected]">Item @item.TheItemId</li>
}
</ul>
Der Parser verschluckt sich, weil er der Meinung ist, dass alles rechts vom Unterstrich im id-Attribut einfacher Text ist und nicht analysiert werden sollte. Ich bin mir nicht sicher, wie ich den Parser anweisen soll, TheItemId zu rendern.
Ich möchte nur eine Eigenschaft für das Modellobjekt, die das Präfix item_ enthält.
Ich muss diese Syntax auch beibehalten, da ich die Liste mit JQuery Sortable und mit der Serialisierungsfunktion verwende, für die das id-Attribut in dieser Syntax formatiert werden muss.
quelle
@
und der Klammern) ... Was für mich schließlich funktioniert hat, war die sehr unanständigeid="foo" + Model.Bar
.Wie wäre es mit String.Format ? so was:
<li id="@String.Format("item_{0}", item.TheItemId)">
quelle
id="@String.Format('foo{0}', item.Bar)"
?Ich bevorzuge:
Die Ausführlichkeit sagt den Support-Entwicklern genau, was gerade passiert, sodass es klar und leicht zu verstehen ist.
quelle
Sie können sogar auf diese Weise mehr Zeichenfolgen zusammenfassen :
Hier ist ein weiterer Beitrag.
Hoffnung hilft jemandem.
quelle
Sie können dies auf einfachere Weise tun:
quelle
Dieser Beitrag scheint älter zu sein, aber jetzt funktioniert dies in der neuesten MVC:
quelle