我正在使用一个umbraco文档类型,它具有IPublishedContent作为属性的集合。这在视图中表现为字符串,该字符串是对象键的CSV,然后我必须使用内容帮助器解析和查找底层值。
by @foreach (var author in Umbraco.Content(story.GetPropertyValue<string>("author").Split(',')))
{
@author.Name
}
作为MVC开发人员,这感觉非常错误。我错过了更好的方式吗?理想情况下,Umbraco应该知道这些实际上是内容项并映射它们,类似于ORM中的导航属性。
很乐意使用强类型方法,但除了将所有内容分解为子操作之外,我找不到太多文档。
作为一个MVC开发者,你应该看看属性编辑器值转换器(文档),它允许你做一个story.GetPropertyValue<List<IPublishedContent>>("myAlias")
. getpropertyvalue<>()方法将使用适当的值转换器。
如果您使用的是v7,它们被称为"属性值转换器",但工作方式相同。
确保,如果开发一个使用ContentCache的值转换器(而不是依赖于uQuery或Services,因为它们会触发数据库查询)