我目前正在尝试AJAX
在某个页面上实现结果过滤。
我创建了下拉列表(在客户端),以便它们将umbraco
prevalue id 作为其值。
然后我会将这个 id 发送到服务器,而不是文本值。然后我遍历我的内容以查找具有相同 ID 的项目。
然而,问题是我无法弄清楚如何从 property 获取值 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"
是否可以从下拉列表属性中获取选定的值 id?还是字符串匹配我比较值的唯一选择?
编辑:没关系,找到了解决方案。在这里发布答案,以防其他人需要它。
我正在使用数据类型下拉列表。我应该一直在使用下拉列表:发布键。dropdownlist 只返回一个值。然而,dropdownlist:publishing keys 返回的是 prevalue id,而不是文本值。