【发布时间】:2018-06-13 14:22:39
【问题描述】:
我有一个继承 GlassBase 的自动映射类。这些字段会自动从 Sitecore 中提取并映射到类。我需要获取从中提取字段的数据项的 ID,但我不确定如何。
在其他项目中,我有从 GlassControl 继承的类,我可以获得 GlassItem.Id,但我在这个项目中没有 GlassControl,我正在使用 GlassBase。如何了解正在使用的玻璃物品?
public class MostRead : GlassBase
{
private readonly IPersonifyUserContext _userContext;
private readonly ISitecoreSearchProvider _searchProvider;
private readonly ISitecoreContext _sitecoreContext;
private readonly ICacheProvider _cacheProvider;
private readonly I___Global_Page_Configuration _currentItem;
public MostRead(IPersonifyUserContext userContext,ISitecoreContext context, ISitecoreSearchProvider searchProvider,ICacheProvider cache)
{
_cacheProvider = cache;
_userContext = userContext;
_searchProvider = searchProvider;
_sitecoreContext = context;
_currentItem = _sitecoreContext.GetCurrentItem<I___Global_Page_Configuration>();
}
[TopicsQueryAttirbute]
public IEnumerable<ITopic> AllTopics { get; set; }
[SitecoreField(IMost_ReadConstants.CountFieldName)]
public int Count { get; set; }
[SitecoreField(IMost_ReadConstants.PastXDaysFieldName)]
public int Days { get; set; }
[SitecoreField(IMost_ReadConstants.TopicsFieldName)]
public IEnumerable<Guid> Topics { get; set; }
[SitecoreField(IMost_ReadConstants.TitleFieldName)]
public string Title { get; set; }
[SitecoreField(IMost_ReadConstants.SiteFieldName)]
public string Site { get; set; }
}
【问题讨论】:
-
GlassBase有一个Id属性。这不是你需要的吗? -
如何访问它?我不能做'var id = GlassBase.Id;'
-
只是“this.Id”吗?
-
如果您需要从您发布的课程中访问它,那么您可以访问
ID。this是多余的。 -
您的类
MostRead继承自GlassBase,这意味着GlassBase的所有公共或受保护成员都可以访问。据我所知,GlassBase 有一个名为Id的公共Guid
标签: c# sitecore automapper glass-mapper automap