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

How to get property from content page in umbraco where editor type is textbox

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

如果您想在不知道别名或 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 缓存。