我如何在CodeBehind中为TreeView的某些节点设置CSS类?

问题描述 投票:4回答:1

我想用不同的样式设置某些节点,在代码后面。

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

我想用不同的样式显示这两种类型。

c# asp.net css treeview
1个回答
3
投票

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

我有这个[[exact需求,并通过将TreeNode的“文本”包含在具有类和/或样式属性的范围中来解决。我说“文本”是因为您会[[think将TreeNode.Text用作HTML元素的内部文本,但是通过实验,我发现如果将node.Text设置为HTML,它将(意外地)呈现为提供的HTML (即设置innerhtml)。

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

确实会呈现红色文本(与显示单词“ span”等相反)。再次,出乎意料,但它确实起作用。而且,再次,我期望TreeNode(除了CssClass和/或style attrs之外)可能还有一个node.Html attr来设置innerhtml,并让node.Text设置innertext。也许MSFT将TreeNode分配给了一个jr程序员:)

这已为我解决,希望对其他人有帮助。
© www.soinside.com 2019 - 2024. All rights reserved.