Razor Voir la syntaxe ne reconnaît pas le « @ » dans un attribut HTML
-
09-10-2019 - |
Question
Je suis un projet de migration MVC 2 à MVC3 et le moteur vue de rasoir.
Dans MVC 2, je devrais le code HTML suivant:
<div id="del_<%= Model.ActivityID.ToString() %>"></div>
Lors de l'utilisation de rasoir, j'ai essayé ce qui suit, ce qui rend le texte littéral « del_@Model.ActivityID.ToString () » quand je veux del_1.
<div id="del_@Model.ActivityID.ToString()"></div>
Pour contourner le problème, je:
<div id="@Model.ActivityID.ToString()_del"></div>
est-il loin de faire le travail de rasoir avec cette syntaxe?
<div id="del_@Model.ActivityID.ToString()"></div>
La solution
Vous devrez utiliser la @()
autour de votre valeur modèle particulier comme ceci:
<div id="del_@(Model.ActivityID.ToString())"></div>
La raison est parce que les regards de del_@Model.ActivityID
comme une adresse e-mail à l'analyseur et par défaut les analyseur tente d'ignorer les adresses e-mail afin que vous ne devez pas faire quelque chose de stupide comme john@@doe.com
comme des e-mails sont assez communs qu'il serait ennuyeux de faire à chaque fois. Ainsi, les personnes qui travaillent sur l'analyseur de rasoir juste pensé: « si elle ressemble à un e-mail, l'ignorer ». Voilà pourquoi vous rencontrez ce problème particulier.
Autres conseils
<div id="del_@(Model.ActivityID.ToString())"></div>
Dans le cas où vous ne voyez pas le truc: utiliser @( )