102 votes

ASP.NET MVC Concaténation du rasoir

J'essaie de rendre une liste HTML qui ressemble à ce qui suit, en utilisant le moteur de vue Razor :

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

Le code que j'essaie d'utiliser pour rendre cette liste est le suivant :

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

L'analyseur syntaxique s'étrangle, car il pense que tout ce qui se trouve à droite du trait de soulignement dans l'attribut id est du texte brut et ne doit pas être analysé. Je ne sais pas comment demander à l'analyseur syntaxique de rendre TheItemId.

Je ne veux pas mais une propriété sur l'objet modèle qui inclut le préfixe item_.

Je dois également conserver cette syntaxe car j'utilise la liste avec JQuery Sortable et avec la fonction serialize qui exige que l'attribut id soit formaté dans cette syntaxe.

0voto

Ce post semble être plus ancien mais cela fonctionne maintenant dans la dernière version de MVC :

id="item_@item.TheItemId"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X