【问题标题】:How can I render a variable properly without confusing the Razor engine?如何在不混淆 Razor 引擎的情况下正确渲染变量?
【发布时间】:2011-05-18 10:07:41
【问题描述】:

我正在尝试使用 Razor 视图引擎呈现 CSS(是的,我知道它是为 xml 风格的语言设计的)。

我的模板看起来像:

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

当然这会失败,因为 ToppxLeftpx 不是模型的属性,TopLeft 是。我不能放空格(例如@Model.Top px;),因为虽然从模板的角度来看这是可行的,但它的无效 CSS 和 Firefox 会忽略它。

其他模板语言(Freemarker、Velocity)会支持它,例如:${Model.Top}px;,甚至通常的 ASP.NET 视图引擎也支持它,例如:<%=Model.Top%>px;

如何在 Razor 中获得这种行为?我试过了: @:<text>@Model.Top</text>px 但这不会编译。

我也试过:@Model.Top@:px;,但也没有用。

注意:我正在使用带有 Mono 2.10 的独立 Razor(位于 http://razorengine.codeplex.com/

谢谢

【问题讨论】:

    标签: c# asp.net asp.net-mvc templates razor


    【解决方案1】:

    尝试用括号显式表达代码块:

    #@(Model.ID) {
        top: @(Model.Top)px;
        left: @(Model.Left)px;
    }
    

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2023-04-05
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多