【问题标题】:Sitecore PageEditor randomly shows error with Glass.MapperSitecore PageEditor 随机显示 Glass.Mapper 错误
【发布时间】:2023-03-31 13:45:01
【问题描述】:

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

您不能保存不包含以下属性的类 表示项目 ID。确保至少有一处房产 标记为包含 Sitecore ID。类型: Castle.Proxies.IBasicPageProxy 在 Glass.Mapper.Sc.Configuration.SitecoreTypeConfiguration.ResolveItem(对象 目标,数据库数据库) 在 Glass.Mapper.Sc.GlassHtml.MakeEditable[T](Expression'1 字段,Expression'1 标准输出,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; }
}

我使用 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 方法,但没有帮助。模型定义在一个单独的类库项目中,它引用了所有玻璃映射器程序集。

我很无能,之前在其他项目中从未遇到过这个错误。有谁知道什么会导致这种情况,或者我如何调试它?

感谢您的帮助!

【问题讨论】:

  • 您能发布您的 IBasicPage 的接口/类代码吗?
  • Castle 抱怨的是 IBasicPage 而不是 IBasicType。你能像艾哈迈德说的那样做吗?
  • 我在 SC 7.2 Update-3 (Glass.Mapper.Sc v3.2.3.49) 中得到了同样的行为。我通过 TDS 专门使用接口和代码生成。 IIS 重置暂时修复它。

标签: asp.net-mvc sitecore glass-mapper sitecore7.5


【解决方案1】:

我在我的模型中添加了以下代码并且它可以工作

[SitecoreId]
public virtual Guid Id { get; set; }

【讨论】:

  • 虽然这段代码可以解决问题,但几句话的解释将使这个答案对未来的读者有价值。
  • OP已经有效地做到了这一点,我不相信这是解决方案
【解决方案2】:

玻璃映射器要求项目由 ID 表示。如果玻璃模型没有 GUID 属性,您将看到此错误。

您可以通过添加属性 public virtual GUID Id {get;设置;}到你的玻璃模型

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多