2014-03-19 16 views
1

是否可以从Kentico TreeNode对象获取文件属性的数组/列表?如何从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对象会给我,我要找的数据上的方法 - 是有办法做到这一点?

回答

3

这可能取决于您是在创建新的TreeNode还是从内容树中检索它。

如果您正在使用SelectSingleNodeSelectNodes来填充你的node对象比node.ColumnNames会给你所有列/字段回来与该节点的类的列表。

foreach (string column in node.ColumnNames) 
{ 
    //do something helpful with each one 
    string value = ValidationHelper.GetString(node.GetValue(column), string.Empty); 
} 
+0

这么简单,但我没有看到我的intellisense。这正是我需要的,谢谢你的朋友! –

相关问题