在 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>
}
我目前正在使用 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>
}