J'essaie le rendu d'une liste HTML qui ressemble à ce qui suit, en utilisant le moteur de vue Razor:ASP.NET MVC Razor Enchaînement
<ul>
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
Le code que je tente d'utiliser pour rendre cette liste est :
<ul>
@foreach (var item in Model.TheItems)
{
<li id="[email protected]">Item @item.TheItemId</li>
}
</ul>
l'analyseur est étouffait, car il pense que que tout à la droite du trait de soulignement dans l'attribut id est le texte brut et ne doit pas être analysée. Je ne suis pas sûr de la façon d'instruire l'analyseur pour rendre TheItemId.
Je ne veux pas mais une propriété sur l'objet de 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 sérialiser qui nécessite le formatage de l'attribut id dans cette syntaxe.
J'ai commencé avec String.Format mais je préfère la syntaxe et la brièveté de votre réponse, je la marque comme ma réponse préférée. –
Juste a traversé quelques vues partielles d'un collègue et nettoyé tous les String.Formats avec ce petit tour de rasoir. Un +1 le plus mérité! –
J'utilise Visual Studio 2013 et ASP.NET MVC 5, et cela ne fonctionne pas (la chaîne est définie * comme *, y compris le '@' et les parenthèses) ... Ce qui a finalement fonctionné pour moi était le très disgracieux 'id =" foo "+ Model.Bar'. –