Вывод буквального HTML между операторами бритвы приводит к ошибке компиляции - PullRequest
4 голосов
/ 05 февраля 2011

У меня есть объект foo, и я хочу вывести:

Заголовок, Местоположение

Поэтому я пытаюсь ...:

@if (sometruestuff){
    @foo.Title, @foo.Location
}

@if (sometruestuff){
    @foo.Title , @foo.Location
}

Обе не удается скомпилировать.

Однако ...:

@if (sometruestuff){
    @foo.Title<span>,</span> @foo.Location
}

... работает.

Есть какой-то трюк, которого мне не хватает?

Редактировать: Это происходитвнутри кодового блока, обновлен, чтобы отразить это.

Ответы [ 2 ]

9 голосов
/ 05 февраля 2011

Вы можете экранировать ,, используя @:, потому что анализатор Razor считает его частью кода на стороне сервера, и если вы хотите вывести запятую как в HTML, ее необходимо экранировать:

@if (sometruestuff){
    @foo.Title@:, @foo.Location
}
0 голосов
/ 05 февраля 2011

Кажется, вы находитесь внутри блока кода, потому что в противном случае он должен нормально работать. Вы можете попробовать это:

<text>
@foo.Title, @foo.Location
</text>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...