是否可以从Kentico TreeNode
对象获取文档属性的数组/列表?
我的用例是我想编写一个包装自定义文档类型的类。该类将有一个方法输出一个格式化的字符串,其中包含用户在CMSDesk中输入的值。
如果我提前知道该物业的名称,我可以执行以下操作:
(TreeNode)node.GetValue("Key");
但是,由于可以在CMS站点管理器中的文档类型中添加或删除属性,因此我不想对类中的任何字符串进行硬编码。
相反,我想要像这样访问它们:
string[] keys = (TreeNode)node.GetKeys();
Dictionary<string, string> dictionary = new Dictionary<string, string>();
foreach(string key in keys)
{
dictionary.Add(key, node.GetValue(key));
}
我没有在TreeNode
对象上看到可以提供我正在寻找的数据的方法 - 有没有办法做到这一点?
答案 0 :(得分:3)
这可能取决于您是创建新的TreeNode
还是从内容树中检索它。
如果您使用SelectSingleNode
或SelectNodes
填充node
对象,则node.ColumnNames
将为您提供与该节点一起返回的所有列/字段的列表类。
foreach (string column in node.ColumnNames)
{
//do something helpful with each one
string value = ValidationHelper.GetString(node.GetValue(column), string.Empty);
}