我在下拉列表中添加了一些prevalues。 当我试图获取使用我的dropdownlist-data-type的属性的值时,我继续将preValue的“关键字”作为属性的值...但那不是我之后的事情..我需要并且想得到我作为我的预估值输入的actuallt prevalue-string ..
有什么想法吗?
哦,顺便说一下..我需要用C#来做。
修改
这是我到目前为止所尝试过的......它有点工作..但是它会重新列出我无法查询的列表列表..
PreValues.GetPreValues(new Document(statistic.ParentId,true).getProperty("identifier").PropertyType.DataTypeDefinition.DataType.DataTypeDefinitionId).Values
答案 0 :(得分:5)
我在approch下面使用下拉列表值作为文本和id
// Node ID of content node in which dropdown has been used
int NodeIdOfContent = 1111;
Document docMfsFeedSettings = new Document(NodeIdOfContent);
int preValueID = docMfsFeedSettings.getProperty("dropDownAliasName").Value)
// Retrieve Text value
string textValue = umbraco.library.GetPreValueAsString(
Convert.ToInt32(docMfsFeedSettings.getProperty("dropDownAliasName").Value));
答案 1 :(得分:2)
这有点混乱,但是在这里使用PreValues对象是你要做的只是获得IEnumerable的值:
...
int id = statistic.ParentId;
var node = new Document(id, true);
var property = node.getProperty("dropdown");
var dataTypeDefinitionId = property.PropertyType.DataTypeDefinition.DataType.DataTypeDefinitionId;
// Cast the SortedList to an IEnumerable of DictionaryEntry and then
// select the PreValue objects from it:
var preValues = PreValues.GetPreValues(dataTypeDefinitionId)
.Cast<DictionaryEntry>()
.Select(d => d.Value as PreValue);
// Select just the values from the PreValue objects:
var values = preValues.Select(p => p.Value);
另一种方法是使用umbraco.library.GetPrevalues(int id)
方法。然而,这两种方法都以各自的方式混乱。
答案 2 :(得分:1)
下拉列表我不需要它。来自Umbraco documentation:
@if (Model.Content.HasValue("superHero"))
{
<p>@Model.Content.GetPropertyValue("superHero")</p>
}
@if (CurrentPage.HasValue("superHero"))
{
<p>@CurrentPage.superHero</p>
}
但是,对于radiolist,可以按如下方式访问prevalue:
@if (Model.Content.HasValue("miniFigure"))
{
var preValue = Umbraco.GetPreValueAsString(Model.Content.GetPropertyValue<int>("miniFigure"));
<p>@preValue</p>
}
@if (CurrentPage.HasValue("miniFigure"))
{
var preValue = Umbraco.GetPreValueAsString(CurrentPage.miniFigure);
<p>@preValue</p>
}
答案 3 :(得分:0)
使用Umbraco版本7.53,我只是这样做,以获得下拉值:
string dropdownTextValue = slider.GetProperty("dropdownAlias").DataValue.ToString();