Sitecore Droplink 设置 属性 不工作
Sitecore Droplink set property not working
我已经为所有项目创建了 Glassmapper 模型,我的 Sitecore 项目之一中有一个链接。
以下是带有 droplink 字段的项目的模型。
[SitecoreClass]
public class Field:BaseItem
{
[SitecoreField("Mapper Item")]
public virtual LinkedItem MapperItem { get; set; }
}
Mapper Item 字段是 sitecore 中的一个 droplink 字段,
BaseItem
class 具有所有 sitecore 基本属性,例如:
[SitecoreId]
public virtual Guid Id { get; set; }
[SitecoreInfo(SitecoreInfoType.Name)]
public virtual string Name { get; set; }
[SitecoreInfo(SitecoreInfoType.DisplayName)]
public virtual string DisplayName { get; set; }
[SitecoreInfo(SitecoreInfoType.Url)]
public virtual string Url { get; set; }
[SitecoreInfo(SitecoreInfoType.Path)]
public virtual string Path { get; set; }
[SitecoreInfo(SitecoreInfoType.ContentPath)]
public virtual string ContentPath { get; set; }
[SitecoreInfo(SitecoreInfoType.TemplateId)]
public virtual Guid TemplateId { get; set; }
[SitecoreInfo(SitecoreInfoType.TemplateName)]
public virtual string TemplatedName { get; set; }
[SitecoreField("__created")]
public virtual DateTime Created { get; set; }
[SitecoreField("__updated")]
public virtual DateTime Updated { get; set; }
和LinkedItem
具有以下属性:
[SitecoreClass]
public class LinkedItem:BaseItem
{
[SitecoreField("Field ID")]
public virtual string FieldID { get; set; }
[SitecoreField("Display Name")]
public virtual string DisplayName { get; set; }
[SitecoreField("Field Type")]
public virtual string FieldType { get; set; }
}
当我访问 Field
对象时,我在 MapperItem
属性 中得到了 LinkedItem
对象,但是如果我尝试设置 MapperItem
属性 它没有将它保存在相应的字段("Mapper Item" 字段)中,但我没有收到任何错误。
我正在使用以下代码设置下拉链接
fieldItem.MapperItem = ItemUtility.GetItem<LinkedItem>(new Guid("some valid guid available in the droplist source"));
您好像使用的是旧版 Glass mapper?尝试像这样添加模板引用:
[SitecoreClass(TemplateId = "{5281CBCF-1A2D-413A-B182-2854FC6B9176}")]
在最新版本中应该设置如下:
命名空间应该是:using Glass.Mapper.Sc.Configuration.Attributes;
类 应该有一个属性:[SitecoreType(AutoMap = true)]
此 link 包含正确实施上述内容的良好屏幕截图:http://www.glass.lu/en/Mapper/Sc/Tutorials/Tutorial11.aspx
要检查的事项:
是正确的nuget包installed/are你能安装最新的吗?:http://www.glass.lu/en/Mapper/Sc/Tutorials/Tutorial1.aspx
字段名"Mapper Item"是否唯一?如果不是 Sitecore/Glass 将选择第一个找到的并不总是正确的。
我已经为所有项目创建了 Glassmapper 模型,我的 Sitecore 项目之一中有一个链接。 以下是带有 droplink 字段的项目的模型。
[SitecoreClass]
public class Field:BaseItem
{
[SitecoreField("Mapper Item")]
public virtual LinkedItem MapperItem { get; set; }
}
Mapper Item 字段是 sitecore 中的一个 droplink 字段,
BaseItem
class 具有所有 sitecore 基本属性,例如:
[SitecoreId]
public virtual Guid Id { get; set; }
[SitecoreInfo(SitecoreInfoType.Name)]
public virtual string Name { get; set; }
[SitecoreInfo(SitecoreInfoType.DisplayName)]
public virtual string DisplayName { get; set; }
[SitecoreInfo(SitecoreInfoType.Url)]
public virtual string Url { get; set; }
[SitecoreInfo(SitecoreInfoType.Path)]
public virtual string Path { get; set; }
[SitecoreInfo(SitecoreInfoType.ContentPath)]
public virtual string ContentPath { get; set; }
[SitecoreInfo(SitecoreInfoType.TemplateId)]
public virtual Guid TemplateId { get; set; }
[SitecoreInfo(SitecoreInfoType.TemplateName)]
public virtual string TemplatedName { get; set; }
[SitecoreField("__created")]
public virtual DateTime Created { get; set; }
[SitecoreField("__updated")]
public virtual DateTime Updated { get; set; }
和LinkedItem
具有以下属性:
[SitecoreClass]
public class LinkedItem:BaseItem
{
[SitecoreField("Field ID")]
public virtual string FieldID { get; set; }
[SitecoreField("Display Name")]
public virtual string DisplayName { get; set; }
[SitecoreField("Field Type")]
public virtual string FieldType { get; set; }
}
当我访问 Field
对象时,我在 MapperItem
属性 中得到了 LinkedItem
对象,但是如果我尝试设置 MapperItem
属性 它没有将它保存在相应的字段("Mapper Item" 字段)中,但我没有收到任何错误。
我正在使用以下代码设置下拉链接
fieldItem.MapperItem = ItemUtility.GetItem<LinkedItem>(new Guid("some valid guid available in the droplist source"));
您好像使用的是旧版 Glass mapper?尝试像这样添加模板引用:
[SitecoreClass(TemplateId = "{5281CBCF-1A2D-413A-B182-2854FC6B9176}")]
在最新版本中应该设置如下:
命名空间应该是:using Glass.Mapper.Sc.Configuration.Attributes;
类 应该有一个属性:[SitecoreType(AutoMap = true)]
此 link 包含正确实施上述内容的良好屏幕截图:http://www.glass.lu/en/Mapper/Sc/Tutorials/Tutorial11.aspx
要检查的事项:
是正确的nuget包installed/are你能安装最新的吗?:http://www.glass.lu/en/Mapper/Sc/Tutorials/Tutorial1.aspx
字段名"Mapper Item"是否唯一?如果不是 Sitecore/Glass 将选择第一个找到的并不总是正确的。