如何使用 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 件事是:
- 执行代码时的
Sitecore.Context.Database
是什么? web
、master
,或者 core
?
- 您传递给方法的 ID 是什么?这是您要传递的有效 ID 吗?
- 数据库中是否存在具有此 ID 的项目(例如,它是否已发布到
web
数据库)?
我创建了一个 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 件事是:
- 执行代码时的
Sitecore.Context.Database
是什么?web
、master
,或者core
? - 您传递给方法的 ID 是什么?这是您要传递的有效 ID 吗?
- 数据库中是否存在具有此 ID 的项目(例如,它是否已发布到
web
数据库)?