Frage

Ich versuche, die eine HTML-Liste machen, dass sieht wie folgt aus, die Razor Ansicht Motor mit:

<ul>
  <li id="item_1">Item 1</li>
  <li id="item_2">Item 2</li>
</ul>

Der Code, den ich zu verwenden ist versucht, diese Liste zu machen ist:

<ul>
@foreach (var item in Model.TheItems)
{            
  <li id="item_@item.TheItemId">Item @item.TheItemId</li>
}
</ul>

Der Parser erstickt, weil sie denkt, dass alles, was auf der rechten Seite des Unterstrichs in das id-Attribut ist Klartext und nicht analysiert werden sollen. Ich bin unsicher, wie der Parser anweisen, TheItemId zu machen.

Ich mag nicht auf, sondern eine Eigenschaft auf dem Modell Objekt, das das enthält item_ Präfix.

Ich habe auch diese Syntax zu halten, wie ich die Liste mit JQuery Sortable bin mit und mit der serialize-Funktion, die das id-Attribut erfordert in dieser Syntax formatiert werden.

War es hilfreich?

Lösung

You should wrap the inner part of the call with ( ):

<li id="item_@(item.TheItemId)">

Andere Tipps

How about using String.Format? like this:

<li id="@String.Format("item_{0}", item.TheItemId)">

I prefer:

<li id="@String.Concat("item_", item.TheItemId)">

The verbosity tells the support developers exactly what is happening, so it's clear and easy to understand.

You can even use this way to concat more strings:

<li id="@("item-"+item.Order + "item_"+item.ShopID)" class="ui-state-default"></li>

Here is another post.

Hope helps someone.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top