我目前正在尝试在特定网页上实施AJAX
结果过滤。
我创建了下拉列表(在客户端),以便他们将umbraco
prevalue id作为其值。
然后我会将此ID发送到服务器,而不是文本值。然后我遍历我的内容以查找具有相同ID的项目。
但问题是,我无法弄清如何从属性中获取值id 。一切都返回文本值,或只返回0值。
这是在ApiController
。
这些是我尝试的所有选项:
IPublishedContent root = Umbraco.TypedContentAtRoot().First();
var downloads = root.Children.Where(q => q.Name == "Downloads").SingleOrDefault();
foreach (var item in downloads.Children)
{
var test = item.GetPropertyValue<int>("classification");
var testing = item.GetProperty("classification");
var testVal = testing.DataValue;
var testValToo = testing.GetValue<int>();
var testThree = testing.Value;
}
这些是按顺序排列的结果:
- 0
- IPublishedProperty
- "textValue"
- 0
- "textValue"
是否可以从dropdownlist属性中获取所选值id?或者是字符串匹配我唯一的比较值的选项?
编辑: 没关系,找到了解决方案。在这里发布答案,以防其他人需要它。
我使用的是数据类型下拉列表。我本来应该使用dropdownlist:发布密钥。 dropdownlist只返回一个值。 dropdownlist:发布键但是返回prevalue id,而不是文本值。
答案 0 :(得分:0)
也许这样的事情。
library.GetPreValueAsString(node.GetProperty<int>("sectionType")).ToLower()