MVC3 Razor: отображение html внутри блоков кода - PullRequest
122 голосов
/ 07 июля 2011

В моих файлах cshtml у меня много блоков с подобными вещами:

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

Единственная причина, по которой существует диапазон, заключается в том, что я не могу найти другой способ заставить его признать, что«Hello World» является частью HTML, если я не окружаю его тегами HTML.Есть ли хороший способ избежать кода, который не включает добавление бессмысленных тегов на дисплей?

Ответы [ 5 ]

210 голосов
/ 07 июля 2011

Вы можете использовать @: для выхода:

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

или специальный тег <text>, который не выводится в ответе:

@if(Model.foo)
{
    <text>Hello World</text>
}
13 голосов
/ 07 июля 2011
@if(Model.foo)
{
  @:Hello World
}
9 голосов
/ 07 июля 2011

Вы можете добавить текст, как показано ниже:

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

при использовании бритвы @ переключите его в режим кодового блока.Следовательно, вам нужно указать текст, как указано выше.

8 голосов
/ 25 октября 2013

многие разработчики предоставили много способов выше ... вот еще один, который отлично работает в MVC 4 .. Я надеюсь, что он будет работать и для MVC 3 ..

@if(Model.foo)
{
    @Html.Label("Hello World")
}
8 голосов
/ 04 декабря 2012
<text>Explicit HTML<text>

@(Explicit C#)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...