我想获取有关umbraco内容页面上字段的详细信息,其中属性类型为文本框,别名或ID未知
答案 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缓存。