2014-03-02 38 views
0

我有以下在Visual Studio中结构为模板:Sitecore的玻璃映射器ObjectToSwitchTo在页编辑器空引用

下一个页面,我有一个或多个链路根

[SitecoreType(TemplateId = "{4AAA9A10-36C2-484F-A648-2BEF349F0052}", AutoMap = true)] 
public class LinkRoot : IBaseTemplate 
{ 
    [SitecoreChildren(InferType = true)] 
    public virtual IEnumerable<LinkItem> Children { get; set; } 

    [SitecoreInfo(SitecoreInfoType.TemplateId)] 
    public virtual Guid TemplateId { get; set; } 
    public Guid Id { get; set; } 
    public string Language { get; set; } 
    public ItemUri Uri { get; set; } 
    public int Version { get; private set; } 


} 

下的链接根我“已经LinkItems

[SitecoreType(AutoMap = true)] 
public class LinkItem : IBaseTemplate 
{ 
    [SitecoreField("Link Name")] 
    public virtual string LinkName { get; set; } 

    [SitecoreField("Link")] 
    public virtual Link Link { get; set; } 

    public Guid Id { get; set; } 
    public string Language { get; set; } 
    public ItemUri Uri { get; set; } 
    public int Version { get; private set; } 
} 

我在那样的视图中显示这些项目:

@foreach (var link in Model.Children.Where(o => o.TemplateId.Equals(TemplateIDs.LinksRoot.Guid))) 
    { 
     foreach (var linkChildren in link.Children) 
     { 
      using (BeginRenderLink(linkChildren, x => x.Link, isEditable: true)) 
      { 
     @Editable(linkChildren, x => x.LinkName) 
      } 
     } 
    } 

它的伟大工程,我可以看到我的好名字等环节,但是当我去的网页编辑,我得到这个错误:

值不能为空。参数名称:objectToSwitchTo

在Sitecore.Diagnostics.Assert.ArgumentNotNull(Object参数,字符串argumentName) 在Sitecore.Common.Switcher 2.Enter(TValue objectToSwitchTo) at Sitecore.Data.Items.ContextItemSwitcher..ctor(Item item) at Glass.Mapper.Sc.GlassHtml.MakeEditable[T](Expression 1场,Expression`1 standardOutput,T模型,对象参数,语境上下文,数据库数据库,TextWriter作家)

有人已经经历过,或有一个想法,为什么我有这个错误?

谢谢

回答

0

我认为这意味着Glass无法解析LinkItem模型的模板。
相反的:

[SitecoreType(AutoMap = true)] 
public class LinkItem : IBaseTemplate 

尝试显式定义模板ID:

[SitecoreType(TemplateId = "{your-template-guid}", AutoMap = true)] 
public class LinkItem : IBaseTemplate 
+0

我试过了,但并没有解决问题:< – JobiJoba

0

我认为这可能是一个错误,你可以登录它在github上是一个问题。

+0

是的,我确实会这样做 – JobiJoba

+0

是否为此问题创建了一个错误请求?我现在遇到了同样的问题,而且我还没有找到解决方案 –

+0

我不认为我们最后有错误报告 –

相关问题