134 votes

MVC3 Rasoir: l'Affichage html dans les blocs de code

Dans mon cshtml fichiers que j'ai beaucoup de blocs avec des trucs comme ça:

@if(Model.foo)
{
    <span>Hello World</span>
}

La seule raison pour laquelle la durée est là c'est parce que je ne peux pas trouver un autre moyen pour le forcer à reconnaître que "Hello World" est la partie de l'html à moins que je l'entourent dans des balises html. Est-il un bon moyen de s'évader de code qui n'implique pas l'ajout de sens des balises à l'écran?

237voto

Darin Dimitrov Points 528142

Vous pouvez utiliser @: échapper:

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

ou <text> balise qui n'est pas retourné dans la réponse:

@if(Model.foo)
{
    <text>Hello World</text>
}

15voto

Sergey Metlov Points 6670
@if(Model.foo)
{
  @:Hello World
}

10voto

matmat Points 907

Vous pouvez ajouter du texte en tant que ci-dessous:

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

lorsque vous utilisez @ rasoir de le passer en code en mode bloc. Par conséquent, vous devez spécifier le texte comme ci-dessus.

10voto

Proka Points 116
<text>Explicit HTML<text>

@(Explicit C#)

8voto

NMathur Points 311

beaucoup de développeurs a fourni de nombreuses façons ci-dessus .. voici encore une qui fonctionne très bien dans MVC 4 .. j'espère qu'il va travailler pour MVC 3 aussi ..

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X