MVC3 Razor: Affichage de HTML dans les blocs de code

Dans mes fichiers cshtml, j’ai beaucoup de blocs avec des choses comme ça:

@if(Model.foo) { Hello World } 

La seule raison est que je ne trouve pas d’autre moyen de le forcer à reconnaître que “Hello World” fait partie du code HTML à moins que je ne l’entoure de balises HTML. Existe-t-il un bon moyen d’échapper au code qui n’implique pas l’ajout de tags sans signification à l’affichage?

Vous pourriez utiliser @: pour échapper:

 @if(Model.foo) { @:Hello World } 

ou la spéciale qui n’est pas sortie dans la réponse:

 @if(Model.foo) { Hello World } 
 @if(Model.foo) { @:Hello World } 

Vous pouvez append du texte comme ci-dessous:

 @if(Model.foo) { @:Hello World } 

lorsque vous utilisez @ razor, passez en mode bloc de code. Vous devez donc spécifier le texte ci-dessus.

 Explicit HTML @(Explicit C#) 

beaucoup de développeurs ont fourni de nombreuses manières ci-dessus .. en voici un de plus qui fonctionne bien dans MVC 4 .. J’espère que cela fonctionnera aussi pour MVC 3 ..

 @if(Model.foo) { @Html.Label("Hello World") }