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



我已经创建了一个WebMethod,在这个方法中我想从path访问item。

[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;
}

,但我得到错误"对象引用不设置为对象的实例"。谁能告诉我怎么用它?

Thanks in advance

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

你需要检查的三件事是:

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

最新更新