Ajax 从umbraco下拉列表中获取prevalue id
我目前正试图在某个页面上实现Ajax 从umbraco下拉列表中获取prevalue id,ajax,asp.net-mvc,umbraco,umbraco7,Ajax,Asp.net Mvc,Umbraco,Umbraco7,我目前正试图在某个页面上实现AJAX结果过滤 我创建了下拉列表(在客户端),这样它们的值就是umbracoprevalue id 然后我将把这个id发送到服务器,而不是文本值。然后我在我的内容中循环查找具有相同id的项目 然而,问题是我不知道如何从属性中获取值id。所有内容要么返回文本值,要么仅返回0值 这是在ApiController中执行的 以下是我尝试过的所有选项: IPublishedContent root = Umbraco.TypedContentAtRoot().First();
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;
}
是否可以从dropdownlist属性获取所选值id?或者字符串匹配是比较值的唯一选项
编辑:
没关系,找到了解决办法。在这里张贴答案,以防其他人需要
我使用的是数据类型dropdownlist。我应该使用dropdownlist:publishing键。
dropdownlist只返回一个值。dropdownlist:但是,发布键返回prevalue id,而不是文本值
也许是这样的
library.GetPreValueAsString(node.GetProperty<int>("sectionType")).ToLower()
library.GetPreValueAsString(node.GetProperty(“sectionType”)).ToLower()
library.GetPreValueAsString(node.GetProperty<int>("sectionType")).ToLower()