【问题标题】:Umbraco 7: Set dynamic body class in body tagUmbraco 7:在body标签中设置动态body类
【发布时间】:2014-08-29 06:31:59
【问题描述】:

设置动态正文类的最佳方法是什么?试过了:

<body class="@Umbraco.Field("pageTitle", altFieldAlias: "pageName")">

但这会返回页面名称,如:

<body class="Some Page Name">

【问题讨论】:

    标签: asp.net asp.net-mvc umbraco umbraco7


    【解决方案1】:

    参考您的示例 - 这是预期的结果,因为您从文档中请求 pageTitle 属性数据。由于您显示的原因,这并不适合类名 - 它可以包含空格和无效字符。

    要使用的属性取决于您需要哪种 css 钩子。您可以使用 DocumentTypeAlias,因为它没有空格但更通用,或者如果您需要每页一个类,您可以使用包含您知道是唯一的文档 ID 的字符串。您不能单独使用 id,因为我很确定 css 类不能以数字值开头。

    我必须提供的一些 v6 安装示例,但我认为在 v7 中仍然相关:

    使用文档类型别名:

    <body class="@Model.Content.DocumentTypeAlias.ToLower()">
    

    使用文档 ID 来实现唯一性:

    <body class="@string.Concat("pg-", Model.Content.Id)">
    

    从当前文档中获取包含要添加的类的属性:

    <body class="@Umbraco.Field("bodyCssClasses")">
    

    【讨论】:

    • 感谢 ProNotion!我用&lt;body class="@string.Concat("pg-", Model.Content.Id)"&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 2013-04-04
    • 2019-01-15
    • 1970-01-01
    • 2013-07-09
    • 2012-08-21
    • 1970-01-01
    相关资源
    最近更新 更多