Click here to Skip to main content
15,905,427 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi everybody!!!
I have a problem with asp:TreeView in asp:UpdatePanel
Would you please tell me what to do ?

I have several updatepanels in my web project, and all of them declared as:
… UpdateMode="Conditional" ChildrenAsTriggers="false" …

When I put an asp:treeview control into an updatepanel it makes the whole page become slower, much slower.

Yes the treeview content is not very small, and I use recursion for filling it, but I do it on the page_load and only once: if(!Page.IsPostBack){ FillTreeView(…); }

When I do not call FillTreeView() method, ie I do not use TreeView it’s all works fine. I have a search part in my page, implemented in another UpdatePanel, and it works very fast with max speed of 12-30 Kb/s, but with the TreeView load it reaches to 250-400 Kb/s.

Actually, the treeview implemented in updatepanel, restrains my web page, doing full page postbacks every time I do Any kind of action with the page, even if I don’t touch the treeview at all - when I use my search, which is absolutely nothing to do with it, not connected to treeview in no manner.

My dear friends, collegues, programmers, help me please with your good and usefull advices, thanks !!!

Just a a small addition to Mark Nischalkes answer[^].

This could help to speed up things a bit:
ASTreeView - Free ASP.NET TreeView Control[^]

or even better:
Treeview jQuery Plugin[^]

Espen Harlinn
Share this answer
Have you read the documentation?[^]

The following ASP.NET controls are not compatible with partial-page updates, and are therefore not designed to work inside an UpdatePanel control:

TreeView control under several conditions.
Share this answer
Espen Harlinn 16-Jan-11 7:16am    
5+ why don't people read the documentation?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900