如何在不覆盖样式的情况下向 Sitecore MVC Link 字段添加 class 属性 class
How to add a class attribute to Sitecore MVC Link Field without overwriting the style class
基于question/answer here,我可以成功渲染一个带有class属性的字段。
例如,我有一个 link 字段的列表,这些字段正在使用 Bootstrap class nav-link
呈现。但是,如果任何 link 在 Sitecore 中定义了 Style class:
,设置 nav-link
class 将覆盖样式 class,而不是添加到它。
如何在不覆盖通过 Sitecore 添加的任何 class 的情况下添加导航link class?
示例代码:
@Html.Sitecore().Field("Link", navItem, new { @class = "nav-link" })
我通过将字段转换为 LinkField
找到了答案,如下所示:
@Html.Sitecore().Field("Link", navItem, new {
@class = "nav-link " + ((LinkField)navItem.Fields["Link"]).Class,
text = Html.Sitecore().Field("Link Text", navItem)
})
从上面的代码中可以看出,我们只是将所需的 class 与 ((LinkField)navItem.Fields["Link"]).Class
连接起来,这就为我们提供了字段中的两个 class。
基于question/answer here,我可以成功渲染一个带有class属性的字段。
例如,我有一个 link 字段的列表,这些字段正在使用 Bootstrap class nav-link
呈现。但是,如果任何 link 在 Sitecore 中定义了 Style class:
,设置 nav-link
class 将覆盖样式 class,而不是添加到它。
如何在不覆盖通过 Sitecore 添加的任何 class 的情况下添加导航link class?
示例代码:
@Html.Sitecore().Field("Link", navItem, new { @class = "nav-link" })
我通过将字段转换为 LinkField
找到了答案,如下所示:
@Html.Sitecore().Field("Link", navItem, new {
@class = "nav-link " + ((LinkField)navItem.Fields["Link"]).Class,
text = Html.Sitecore().Field("Link Text", navItem)
})
从上面的代码中可以看出,我们只是将所需的 class 与 ((LinkField)navItem.Fields["Link"]).Class
连接起来,这就为我们提供了字段中的两个 class。