如何从umbraco中的内容页面获取属性,其中编辑器类型是文本框

时间:2018-01-23 11:26:27

标签: umbraco umbraco7

我想获取有关umbraco内容页面上字段的详细信息,其中属性类型为文本框,别名或ID未知

1 个答案:

答案 0 :(得分:1)

如果你想在不知道别名或id的情况下获取属性,那么你将需要迭代属性,并且你可能会获得多种类型。我不确定上下文是什么,但看起来Umbraco发布的缓存不包含属性编辑器类型。这意味着您无法在视图中执行以下操作:

foreach (var property in Model.Properties.Where(x => x.PropertyType.PropertyEditorAlias == "Umbraco.Textbox"))
{
    var propValue = property.Value;
}

但您可以使用ContentService获取此数据:

var docProperties = ApplicationContext.Services.ContentService.GetById(Model.Id).Properties.Where(x => x.PropertyType.PropertyEditorAlias == "Umbraco.Textbox");
foreach (var property in docProperties)
{
    var propValue = property.Value;

}

警告,这将查询数据库,因为它没有使用Umbraco缓存。