TreeView - want node selection WITHOUT POSTBACK

M

Martin Randall

Can anyone tell me if it is possible to get the TreeView control in ASP.Net
2.0 to allow node selection without triggering a postback?

Thanks!

Martin Randall
 
G

Guest

On the treeview:
PopulateNodesFromClient = true
EnableClientScript = true

On each node you add to the treeview:
PopulateOnDemand = true

Make sure to only do this on nodes that have children (save your bandwidth).
The only other thing you have to do is add an event handler to the
TreeView's TreeNodePopulate event. The event args include the node that
needs its children populated. Just stick new child nodes in it and that's
that! Its nice, but there are some bugs that need to get worked out of it...
 
M

Martin Randall

Okay... nice answer, but not to the question I asked, but nice answer
anyway...
 
M

Martin Randall

Tsk... anyway of doing it *without* using AJAX? And if I did use AJAX, I
would still need to trap the clientside event without causing a postback
which is the whole point of this post in the first place.
 
J

jhcorey

You may want to look at the treeviews from obout.com (free) or
componentart. One nice thing with each of these is that they
dynamically fill branches without either a visible postback or ajax, by
calling a separate aspx page to fill the branch. Very intriguing when
you see it.

On the other hand, these treeviews have their own idosyncrasies, and
you may end up using one for a while and then finding a limitation
that's a show stopper.
 
W

walla2sl

I think what he's asking is how to remove the call to:

javascript:__doPostBack

from the TreeView node expand or collapse image.

I'm having the same problem. Is there any way to get rid of that
javascript function call?

Here's an example of what is added when I view the source:
<a
href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$tvNavigate','tFY2008')"><img
src="/FMFIMET/WebResource.axd?d=T97pv8xbNNluDolWp8ffnd8xHGrs20GjDDdugfkoz5QUFUuDBCccU4RYFtFa3B9p0&amp;t=632744904971536555"
alt="Collapse FY2008" style="border-width:0;" /></a>
 
G

Guest

Well, I have the same question. I use the TreeView for a handy container for
related information. I just want it to expand/contract clientside. But I DO
NOT want it to "javascript:__doPostBack" on node select. There's no
AutoPostBack = false as far as I can see or way to override this click event.

So, how iz it done?
 
G

Guest

Nevermind, I figured it out. When you assign the Text of the node, just wrap
the text in a <span> and intercept the click so it doesn't bubble to the <A>
which is where the postback is picked up.

Ex:
node.Text = "<span onclick='return false;'>"+NodeLabel+"</span>";
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top