Вы уверены, что это не опечатка? Я имею в виду, не вы должны передать itemId
вместо id
на GetItem
?
Я не помню точно, как это работает, но если вы передадите строку этому методу, он, вероятно, будет рассматривать ее как путь, а не как идентификатор, и попытаться разрешить элемент по пути. Вы можете проверить это намного быстрее, чем я:
Sitecore.Data.ID itemId = new Sitecore.Data.ID(id);
Sitecore.Context.Database.GetItem(itemId);