GlassMapper GetHomeItem<T> 总是返回 null

GlassMapper GetHomeItem<T> always returning null

我用了很长时间的GlassMapper,这段代码一直运行得很好;今天,在玩了 Home 项目的 children 之后,它不再有效 - 即使我撤消了我的更改。

在 Internet 上我没有找到有关此方法及其失败状态的文档 - 在什么情况下我应该无法检索网站根项目的包装?

有问题的行是:

var root = new SitecoreContext().GetHomeItem<MenuPage>();

此方法使用您当前站点的数据检索主页项目。你应该检查:

  • Sitecore.Context.Site
  • 的价值是多少
  • Sitecore.Context.Site.StartPath
  • 的价值是多少
  • new SitecoreContext().Database
  • 的价值是多少
  • new SitecoreContext().Database.GetItem(Sitecore.Context.Site.StartPath)
  • 的价值是多少

如果主页项存在发布限制,阻止任何版本发布,就会发生这种情况。

因此请务必检查以确保主页项目没有阻止任何版本发布的发布限制。

我遇到了同样的问题,原来我网站的 rootPath 是错误的,它包括 /Home 项。