Razor Vista Sintassi non riconosce la “@” in un attributo HTML
-
09-10-2019 - |
Domanda
Io sono la migrazione di un progetto dal MVC 2 a MVC3 e il motore di visualizzazione rasoio.
In MVC 2, avrei il seguente codice HTML:
<div id="del_<%= Model.ActivityID.ToString() %>"></div>
Quando si utilizza un rasoio, ho provato la seguente, che rende il testo letterale "del_@Model.ActivityID.ToString ()" quando voglio del_1.
<div id="del_@Model.ActivityID.ToString()"></div>
Per aggirare il problema, ho usato:
<div id="@Model.ActivityID.ToString()_del"></div>
C'è via per rendere il lavoro rasoio con questa sintassi?
<div id="del_@Model.ActivityID.ToString()"></div>
Soluzione
Si dovrà utilizzare il @()
attorno al particolare valore del modello in questo modo:
<div id="del_@(Model.ActivityID.ToString())"></div>
La ragione di questo è perché gli sguardi del_@Model.ActivityID
come un indirizzo email al parser e per impostazione predefinita i tentativi di ignorare parser indirizzi e-mail in modo da non fare qualcosa di stupido come john@@doe.com
come le email sono abbastanza comuni che sarebbe fastidioso per fare ogni volta. Così le persone che lavorano sul parser rasoio appena capito: "se sembra una e-mail, ignorarlo". Ecco, questo è il motivo per cui si sta avendo questo particolare problema.
Altri suggerimenti
<div id="del_@(Model.ActivityID.ToString())"></div>
Nel caso in cui non hai visto il trucco: uso @( )