在 Glass Mapper 中处理复选框字段

Handling CheckboxField in GlassMapper

我目前正在使用 Glass Mapper 将站点核心树中的项目映射到 C# 中的模型 classes,但是我在尝试读取项目复选框字段的 Checked 参数时遇到问题。

如何阅读选中的 属性?我已经尝试将下面的字段设置为 CheckboxField 数据类型,但它仍然无法加载我需要的数据。

我是否需要创建另一个模型 class 来提取 CheckboxField 模板数据值?

class属性定义

[SitecoreField("Is Gold Class Package")]
public virtual CheckboxField IsGoldClassPackage { get; set; }

Razor 标记

@foreach (var package in Model.LoyaltyPackages.LoyaltyPackageDataItems)
{
    <div vrewards-item title="@package.Title" unlocked price="@package.Points" icon="@package.Icon"
        @(package.IsGoldClassPackage.Checked == true ? goldClassAttrribute : "") >
    </div>
}

在 Glass 中,您不映射字段,只映射值。所以你的领域模型应该是这样的:

[SitecoreField("Is Gold Class Package")]
public virtual bool IsGoldClassPackage { get; set; }

在您看来,您可以简单地从模型中获取值:

@foreach (var package in Model.LoyaltyPackages.LoyaltyPackageDataItems)
{
    <div vrewards-item title="@package.Title" unlocked price="@package.Points" icon="@package.Icon"
        @(package.IsGoldClassPackage == true ? goldClassAttrribute : "") >
    </div>
}