2016-12-15 53 views

回答

5

如果您想要项目的名称而不是GUID,为什么不使用Droplist?或者你需要将GUID用于其他目的吗?在这种情况下,Glass只是简单地返回Sitecore实际存储的内容(对于Droplink而言,它将是项目GUID)。

否则,您应该为包含项目名称的链接项目创建一个新类,然后更改映射属性以返回该类而不是字符串。

仅供参考,虽然Droplist可能更容易修复,但使用该字段类型并不是一种好的做法。由于存储的是项目名称而不是GUID,因此对该项目名称的更改不会级联到链接项目。

3

我正在为techphoria414的答案给未来使用提供一个工作示例。

想象一下你droplink字段包含KeyValuePair类型的项目:

[SitecoreType(TemplateId = "Id")] 
public partial interface IKeyValuePair 
{ 
    [SitecoreField(FieldId = "Id")] 
    string Key { get; set; } 

    [SitecoreField(FieldId = "Id")] 
    string Value { get; set; } 

} 

如果您droplink场是SelectColourBar这是从模板ColourBar

[SitecoreType(TemplateId = "Id")] 
public partial interface IColourBar 
{ 
    [SitecoreField(FieldId = "Id")] 
    IKeyValuePair SelectColourBar { get; set; } 
} 

这将SelectColourBar映射到KeyValuePair模型,然后一个可以访问密钥或值。