如何在不覆盖样式的情况下向 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。