如何使用 Sitecore 在 WebMethod 中获取项目?

How to get item in WebMethod using Sitecore?

我创建了一个 WebMethod,在这个方法中我想从路径访问项目。

[WebMethod]
[System.Web.Script.Services.ScriptMethod(UseHttpGet = true)]
public static int ItemCount()
{
     int val = 0;
     Item itm = Sitecore.Context.Database.GetItem("Id will be there");
     val = itm.Children.Count;
     return val;
}

但我收到错误 "Object reference not set to an instance of an object"。谁能建议我如何使用它?

提前致谢

Object reference 只有当 GetItem 方法返回 null 时,您的代码才会发生异常。

您需要检查的 3 件事是:

  1. 执行代码时的Sitecore.Context.Database是什么? webmaster,或者 core
  2. 您传递给方法的 ID 是什么?这是您要传递的有效 ID 吗?
  3. 数据库中是否存在具有此 ID 的项目(例如,它是否已发布到 web 数据库)?