J'essaie d'ajouter id
dynamique à div
dans une boucle foreach
concaténée avec la valeur de la variable i
. Il jette des erreurs de syntaxe. Quel pourrait être le problème. Peut-on atteindre cette solution sans utiliser une boucle for
?
@{int i=1;}
@foreach (var or in Model.Names)
{
<div oid="@or.Id" mode="0" oids="@or.Id" id="tr"+i>
@or.Name
</div>
i++;
}
Vous voulez construire un identifiant dans le segment de code C #. Une option est de faire toute la construction avec le format de chaîne:
<div oid="@or.Id" mode="0" oids="@or.Id" id="@string.Format("tr{0}",i)">
Ou id="@("tr"+i)"
ou id="tr@(i)"
Notez que vous ne pouvez pas vous contenter de id="tr@i"
car l’analyseur de syntaxe Razor ignore "text @ text" car il ressemble à une adresse électronique normale.
dans le nouveau C # 6, vous pouvez directement utiliser id = "@ ($" tr {i} ")"
Vous ne pouvez pas ajouter comme ceci:
id="tr"+i>
Ce doit être:
id="tr@i">
Vous avez besoin du @
.. car il ne sera pas possible de déduire entre le balisage et Razor à ce stade.
pour moi, aucune de ces solutions ne fonctionnait, mais en ajoutant mon @ i, je travaillais d'abord, id="@i+AnyText"
après l'avoir construite et inspectée, obtenez id="1+AnyText"
pour le suivant. id="2+AnyText"
et ainsi de suite (avec 2013vs).
j'espère que cela aidera n'importe qui, passez une belle journée.