2008-11-04 55 views
1

我正在寻找清理由.NET 2.0 TreeView控制器生成的一些HTML。切换到其他版本/型号不是可用选项。清理.NET HTML代

我的第一个破解得到了一个扩展的TreeView,并且覆盖了Render,它将我不需要的文本正则表达并输出到页面。

问题是当我尝试折叠/展开树的节点时,我的回发事件未被解雇。我的假设是,我不需要做更多的重写,因为父TreeView控制器将处理回发事件。

我错过了什么?

回答

2

使用ASP.NET CSS控制适配器:

http://www.asp.net/CSSAdapters/TreeView.aspx

无需适配器都使用HTML <表>标签。可以使用控制适配器,以替代呈现嵌套的<ul>标记。然后,可以使用CSS和JavaScript的组合来显示和隐藏树或菜单的部分层次结构。 当CSS和JavaScript被删除时,改编后的HTML会降级为简单的嵌套无序列表,这些列表很容易被屏幕阅读器解释,等等。您可以通过在左侧的主题选择器中将主题设置为无,看到这一点。

0

您将控件需要处理回传的东西正规化。它可能是高度复杂的id或runat属性......不管它是什么,如果你被Web控件困住了,你就会陷入不良的html。

你唯一真正的(而且是非破坏性的)做你想做的事的方式不是扩展当前的控件,而是通过使用Control Adapters。已经有使用css进行定位的控制适配器。 Here's ScottGu's post on these CSS adapters.