Umbraco 7:在body标签中设置动态body类

时间:2014-08-29 06:31:59

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

设置动态身体类的最佳方法是什么?尝试:

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

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

<body class="Some Page Name">

1 个答案:

答案 0 :(得分:4)

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

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

v6安装中的一些例子我不得不提出,但我认为在v7中仍然有用:

使用doctype别名:

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

使用文档ID表示唯一性:

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

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

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