Как правильно отобразить переменную, не путая движок Razor? - PullRequest
4 голосов
/ 18 мая 2011

Я пытаюсь отобразить CSS с помощью движка Razor (да, я знаю, что он был разработан для языков стиля xml).

Мой шаблон выглядит так:

#@Model.ID {
    top: @Model.Toppx;
    left: @Model.Leftpx;
}

ИзКонечно, это терпит неудачу, потому что Toppx и Leftpx не являются свойствами модели, Top и Left.Я не могу поставить пробел (например, @Model.Top px;), потому что, хотя это работает с точки зрения шаблонов, его недопустимые CSS и Firefox игнорируют его.

Другие языки шаблонов (Freemarker, Velocity) будут поддерживать его следующим образом: ${Model.Top}px;и даже обычный движок представления ASP.NET поддерживает его следующим образом: <%=Model.Top%>px;

Как я могу получить такое поведение в Razor?Я попытался: @:<text>@Model.Top</text>px, но это не скомпилируется.

Я также попытался: @Model.Top@:px;, но это тоже не сработало.

Примечание: я использую автономную бритву (находится в http://razorengine.codeplex.com/) с Mono 2.10

Спасибо

1 Ответ

7 голосов
/ 18 мая 2011

Попробуйте явно выразить блок кода в скобках:

#@(Model.ID) {
    top: @(Model.Top)px;
    left: @(Model.Left)px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...