Domanda

Sto creando un campione ASP.NET MVC 3 Razor sito utilizzando come motore di visualizzazione. La sintassi rasoio inizia Tipiche @ esempio @RenderBody(). Se scrivo @test sulla mia pagina cshtml mi dà errore di analisi

  

CS0103: Il 'test' nome non esiste nel contesto corrente

Come faccio a sfuggire carattere '@'?

È stato utile?

Soluzione

@@ dovrebbe farlo.

Altri suggerimenti

Razor @ fuga char simboli ...

<img src="..." alt="Find me on twitter as @("@username")" />

o

<img src="..." alt="Find me on twitter as @("@")username" />

uso <text></text> o il modo più semplice @:

@Html.Raw("@") mi sembra essere ancora più affidabile rispetto @@, dal momento che non in tutti i casi @@ sfuggirà.

Quindi:

<meta name="twitter:site" content="@twitterSite">

potrebbe essere:

<meta name="twitter:site" content="@Html.Raw("@")twitterSite">

Invece di entità HTML preferisco l'uso di @Html.Raw("@").

@@ è il carattere di escape per @ nelle viste rasoio come sopra indicato.

Razor ha tuttavia cercare di capire quando un '@' è solo un codice di '@' e dove segni C # (o VB.Net). Uno dei principali usi per questo è quello di individuare indirizzi di posta elettronica all'interno di una vista Razor - non dovrebbe essere necessario per sfuggire il carattere @ in un indirizzo di posta elettronica.

Per la domanda circa @RazorCodePart1 @@ @RazorCodePart2, è necessario la sequenza:

@RazorCodePart1 @:@@ @RazorCodePart2

Lo so, sembra un po 'strano, ma funziona e ti porterà il carattere letterale '@' tra i blocchi di codice.

Ho appena avuto lo stesso problema. Ho dichiarato una variabile di mettere il mio testo con la @.

@{
   var twitterSite = "@MyTwitterSite";
}

...

<meta name="twitter:site" content="@twitterSite">

questo lavoro per me

<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">

In alternativa, è possibile utilizzare: @@ Alan_van_Buuren

: D

Ho provato tutte le opzioni di cui sopra e nessuno ha lavorato. Questo è quello che ho fatto che ha funzionato:

@{
    string str = @"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$";
}

<td>Email</td>
<td>
   <input type="text" id="txtEmail" required name="email" pattern=@str /> 
</td>

ho creato un varible corda e passa tutto il codice modello di RegEx in esso, poi utilizzato la variabile nel codice HTML, e Razor era fresca con esso.

È possibile utilizzare @@ per questo scopo. Come var email = firstName + '\@@' + domain;

è sufficiente aggiungere una variabile nel file di CSHTML var myVariable = @"@";

e aggiungerlo al layout <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>

Non ho potuto ottenere qualsiasi di questi per il lavoro dentro il mio attributo segnaposto, quindi ho usato XML carattere speciale.

<input type="text" placeholder="fex: firstname&#64;lastname.com"/>

Vedere più esempi qui. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F. html

In realtà @ deve essere usato con il rasoio sintassi di parole chiave o al / modello di variabili per associare un valore.

Per esempio: se il test viene assegnato con il valore cioè @ {test var = "ABC"} allora si può ottenere il valore da impostazioni come @test ovunque la pagina cshtml in parte html. in caso contrario, l'uso semplice come @ Html.DisplayName ( "test")

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top