Umbracoのデータ型。可能なデータ型のリストを取得します。
-
26-09-2019 - |
質問
私はあなたがから選択することができprevaluesのセットとデータ型のドロップダウンを使用していますumbracoでプロパティを持っています。
どのように私はこのドロップダウン・リストにあるすべての可能なprevaluesの一覧を取得するのですか?
解決
がありそれを行うumbraco.libraryでのヘルパーメソッドがあります。
XSLTから:
<xsl:variable name="prevalues" select="umbraco.library:GetPreValues(1234)" />
コードから
using umbraco;
XPathNodeIterator prevalues = library.GetPrevalues(1234);
あなたのデータ型のIDで1234を取り付けます(開発者セクションにデータ型の上にマウスを移動するときは、お使いのブラウザの底にそれを見ることができます)。
よろしく
ジェスパーHaugeの
他のヒント
ここで私はすべての可能なprevaluesを含むDropDownListコントロールを得るために、私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()));
}
}
}
あなたのデータ型のIDでdataTypeDefinitionIdを交換します。
私はこれが古い質問ですけど、私はこの答えで提供される情報に基づいて、このメソッドを作成し、私はそれが文書化の価値があると思います:
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;
}
}
}
所属していません StackOverflow