4

我想在代码隐藏中以不同的方式设置某些节点的样式。

在我TreeView,父母有两种类型的孩子。一种类型与父类型(例如organizationalUnit)相同,而另一种类型则不同(例如organizationalMembers)。

我想以不同的风格展示这两种类型。

4

1 回答 1

3

我没有得到讨厌的评论 - 实际上没有明显的解决方案,因为 TreeNode 既CssClass没有属性也没有style属性(恕我直言,设计疏忽)。

我有这个确切的需求,并通过将 TreeNode 的“文本”包含在具有类和/或样式属性的跨度中来解决它。我说“文本”是因为您认为TreeNode.Text将是 HTML 元素的内部文本,但通过实验我发现如果您将其设置node.Text为 HTML,它将(出乎意料地)呈现为提供的 HTML(即设置 innerhtml)。

所以,例如,

TreeNode tn = new TreeNode("<span style='color:red;'>ABC</span>");

确实会呈现红色文本(而不是显示“跨度”等字样)。再次,出乎意料,但它确实有效。而且,我再次希望 TreeNode 具有(除了CssClass和/或styleattrs 之外)可能node.Html用于设置 innerhtml 并让node.Text设置内部文本的 attr。
也许 MSFT 将 TreeNode 分配给了一个 jr 程序员 :)

这为我解决了,希望对其他人有帮助。

于 2017-01-04T01:37:36.213 回答