Razor Ver Sintaxis no reconoce la “@” en un atributo HTML
-
09-10-2019 - |
Pregunta
Estoy migrando un proyecto de MVC 2 a MVC3 y el motor de vista de la maquinilla de afeitar.
En MVC 2, que tendría el siguiente código HTML:
<div id="del_<%= Model.ActivityID.ToString() %>"></div>
Cuando se utiliza la maquinilla de afeitar, he intentado lo siguiente, que hace que el texto literal "del_@Model.ActivityID.ToString ()" cuando quiero del_1.
<div id="del_@Model.ActivityID.ToString()"></div>
Para moverse por el tema, he utilizado:
<div id="@Model.ActivityID.ToString()_del"></div>
¿Hay distancia para hacer el trabajo de afeitar con esta sintaxis?
<div id="del_@Model.ActivityID.ToString()"></div>
Solución
Se tendrá que utilizar el @()
alrededor de su valor determinado modelo de este modo:
<div id="del_@(Model.ActivityID.ToString())"></div>
La razón de esto es porque las miradas del_@Model.ActivityID
como una dirección de correo electrónico al analizador y por defecto las analizador intenta ignorar direcciones de correo electrónico por lo que no tiene que hacer algo tonto como john@@doe.com
como correos electrónicos son bastante comunes que sería molesto para hacer cada vez. Por lo que las personas que trabajan en el analizador de afeitar simplemente descubierto: "si se ve como un correo electrónico, lo ignoran". Entonces es por eso que está teniendo este tema en particular.
Otros consejos
<div id="del_@(Model.ActivityID.ToString())"></div>
En caso de que no se ve el truco: el uso @( )