Sitecore PageEditor随机显示Glass.Mapper的错误

Zen*_*ima 5 asp.net-mvc sitecore glass-mapper sitecore7.5

当我使用Glass.Mapper在我的Sitecore站点上以页面编辑器模式打开页面时,我有时会收到错误.

您不能保存不包含表示项ID的属性的类.确保至少有一个属性已标记为包含Sitecore ID.在Glass.Mapper.Sc.GlassHtml.MakeEditable [T]中的Glass.Mapper.Sc.Configuration.SitecoreTypeConfiguration.ResolveItem(对象目标,数据库数据库)输入:Castle.Proxies.IBasicPageProxy(Expression'1字段,Expression'1 standardOutput, T模型,对象参数,上下文上下文,数据库数据库,TextWriter编写器)

这出现在渲染的位置,因此它不会显示为标准ASP错误.

重新启动IIS解决了这个问题,但很快又出现了..

我使用接口进行模型定义,每个接口继承自IBaseType:

[SitecoreType]
public interface IBaseType
{
    [SitecoreId]
    Guid Id { get; set; }

    [SitecoreInfo(SitecoreInfoType.Name)]
    string Name { get; set; }

    [SitecoreItem]
    Item InnerItem { get; set; }

    [SitecoreInfo(SitecoreInfoType.Url)]
    string Url { get; set; }

    [SitecoreInfo(SitecoreInfoType.TemplateId)]
    Guid TemplateId { get; set; }

    [SitecoreInfo(SitecoreInfoType.FullPath)]
    string FullPath { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我使用Sitecore 7.5 rev.141003(.NET 4.5,MVC5),以及最新版本的Glass.Mapper相关NuGet包目前:

  • Castle.Windsor 3.3.0
  • Castle.Core 3.3.3
  • Glass.Mapper 3.0.14.26
  • Glass.Mapper.Sc 3.2.3.46
  • Glass.Mapper.Sc.CastleWindsor 3.3.0.24
  • Glass.Mapper.Sc.Mvc-5 3.3.0.43

问题出现在我们尝试的所有计算机上,但它们都使用Windows 8,IIS 8.5.9600.我尝试恢复到WebActivator方法,但它没有帮助.模型定义位于单独的类库项目中,该项目引用所有玻璃映射器程序集.

我很无能,在其他项目之前从未遇到过这个错误.有没有人知道是什么原因导致的,或者我如何调试它?

谢谢您的帮助!

小智 1

我已将以下代码放入我的模型中并且它可以工作

[SitecoreId]
public virtual Guid Id { get; set; }
Run Code Online (Sandbox Code Playgroud)