代码之家  ›  专栏  ›  技术社区  ›  Erica Stockwell-Alpert

Sitecore.Context.Database是Web,但GetItem()对所有内容返回null

  •  0
  • Erica Stockwell-Alpert  · 技术社区  · 7 年前

    我的Sitecore 8.2环境有问题,但我不确定是什么问题。代码中的所有GetItem()调用都返回null。我已经确认Sitecore.Context.Database不是空的并且是web数据库,并且我切换到web数据库并确认所有项都在那里并且它们的ID与我在GetItem()调用中使用的ID匹配。我知道connectionstring是正确的,因为我的站点的主页加载并显示了logo和welcome文本,它们是Sitecore中可配置的字段。但是每次尝试调用Sitecore.Context.Database.GetItem()都返回null。也尝试过:

    SitecoreService service = new SitecoreService(Sitecore.Context.Database);
    HomePage = service.GetItem<IRoot>(ItemReference.Hompage.Guid);
    

    但它也返回null。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Jay S    7 年前

    您可能需要查看项目的安全设置。如果项目在那里,使用正确的语言,但是您得到null,这通常意味着上下文用户没有访问权限。

    推荐文章