<p>I am looking to clean up some of the HTML generated by a .NET 2.0 TreeView controller.  Switching to another version/model is not an available option.</p>

<p>My first crack yielded an extended TreeView, with an overridden Render that Regex'd out the text I didn't need and output to the page.</p>

<p>The problem was when I tried to collapse/expanded nodes of the tree, my postback event wasn't fired.  My assumption was that I didn't need to do any more overriding as the parent TreeView controller would handle the postback events.</p>

<p>What am I missing?</p>

Use the ASP.NET CSS Control Adapters:
http://www.asp.net/CSSAdapters/TreeView.aspx
Without adapters both use HTML <table> tags. Control adapters can be used so that nested <ul> tags are rendered instead. A combination of CSS and JavaScript can then be used to show and hide portions of the hierarchy of the tree or menu.
  When the CSS and JavaScript are removed the adapted HTML degrades into simple nested unordered lists that are easily interpreted by screen readers, etc. You can see this for yourself by setting the theme to None in the Theme Chooser on the left.