DataTypes Umbraco. Получить список возможных типов данных.

StackOverflow https://stackoverflow.com/questions/2623700

  •  26-09-2019
  •  | 
  •  

Вопрос

У меня есть недвижимость в Umbraco, которое использует выпадающий тип данных с набором преобладающих, из которых вы можете выбрать.

Как мне получить список всех возможных преобладающих, которые находятся в этом раскрывающемся списке?

Это было полезно?

Решение

В UMBRACO есть метод помощника помощника.

От XSLT:

<xsl:variable name="prevalues" select="umbraco.library:GetPreValues(1234)" />

От кода:

using umbraco;
XPathNodeIterator prevalues = library.GetPrevalues(1234);

Замените 1234 с идентификатором вашего DataType (вы можете увидеть его в нижней части вашего браузера при паре мыши на типографию в разделе DataType в разделе «Разработчики)

С уважением
Jesper hauge.

Другие советы

Вот код, который я использую в одном из моих данных DataTypes Umbraco, чтобы получить выпадающий список, содержащий все возможные преобладающие:

var prevalues = PreValues.GetPreValues(dataTypeDefinitionId);
DropDownList ddl = new DropDownList();

if (prevalues.Count > 0)
{
    for (int i = 0; i < prevalues.Count; i++)
    {
        var prevalue = (PreValue)prevalues[i];
        if (!String.IsNullOrEmpty(prevalue.Value))
        {
            ddl.Items.Add(new ListItem(prevalue.Value, prevalue.DataTypeId.ToString()));
        }
    }
}

Замените datatypedefinitionId с идентификатором вашего dataType.

Я знаю, что это старый вопрос, но я создал этот метод, основанный на информации, представленной в этом ответе, и я думаю, что стоит документировать:

public static class UmbracoExtensions
{
    public static IEnumerable<string> GetDropDownDataTypeValues(int dataTypeId)
    {
        var dataTypeValues = umbraco.library.GetPreValues(dataTypeId);
        var dataTypeValuesEnumerator = dataTypeValues.GetEnumerator();
        while (dataTypeValues.MoveNext())
        {
            dynamic dataTypeItem = dataTypeValues.Current;
            yield return dataTypeItem.Value;
        }
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top