I derived from RadTreeList and in my dev environment everything works fine. In production however, the buttons that expand/collapse a node have the wrong css class assigned. In dev the RadTreeList base control correctly assigns the "rtlExpand" or "rtlCollapse" class, so the button renders with class="rtlExpand" / "rtlCollapse". In prod, it always only renders class="button".
To make sure that nothing intercepts the rendering, I debugged the OnPreRender method of the control and checked the attributes of the controls. The css classes are already assigned right there. I am not messing with the node css class in the derived control, so I have absolutely no idea where class="button" is coming from.
The Telerik dll versions are equal in both environments. The main difference between the dev and prod environments is that the page that hosts the tree is not derived from System.Web.UI.Page, but from a custom page class which does all kinds of stuff that I don't know about. However, in both environments the control tree above the RadTreeList is the same. So that page class must somehow interfere with the Telerik control. When I just make System.Web.UI.Page the base class in the prod environment, then the control renders fine.
I just don't know what the page class could do to alter the rendering of the RadTreeList and I am thankful for any hint.