我目前正在使用Glass Mapper将sitecore树中的项目映射到C#中的Model类,但是在尝试读取项目上复选框字段的Checked参数时遇到问题。
如何阅读Checked属性?我已经尝试将下面的字段设置为CheckboxField数据类型,但它仍然无法加载我需要的数据。
我是否需要创建另一个Model类来提取CheckboxField模板数据值?
类属性定义
[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>
}
答案 0 :(得分:3)
在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>
}