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 项。
我用了很长时间的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 项。