web-dev-qa-db-fra.com

Syntaxe de rasoir à l'intérieur des attributs des éléments html (ASP MVC 3)

J'ai une table avec des lignes de clients répétitives, je voudrais ajouter l'ID client à l'attribut ID de mes lignes de table comme ceci:

<tr id="row<customer id>"></tr>

J'essaye d'ajouter ce code:

@foreach(var c in Model) {
   <tr id="[email protected]"></tr>
}

Ce qui me donne la sortie suivante:

<tr id="[email protected]"></tr>
<tr id="[email protected]"></tr>

etc.

Mais je voudrais que ce soit:

<tr id="row1"></tr>
<tr id="row2"></tr>

etc.

J'ai également essayé d'ajouter <tr>row@{c.id}</tr> Mais cela n'a pas fonctionné..

64
Martin

avez-vous essayé <tr>row@(c.id)</tr>?

La vraie raison pour laquelle cela ne fonctionne pas est que votre [email protected] Correspond à regex pour une adresse e-mail. L'analyseur suppose donc qu'il s'agit d'un e-mail et non d'une tentative d'appel de code. La raison pour laquelle row@{c.id} Ne fonctionne pas est que @{} Ne sort pas et est censé contenir des blocs de code.

En cas de doute, vous devez utiliser @() car cela forcera ce qui est contenu entre () À être analysé en tant que code.

110
Buildstarted