TreeView: How to call client script on node selected?

A

Antonio

Hi,

I would like to have my TreeNode to call window.close(); without posting
back, how can I do that? At the same time, I prefer to have a SelectAction
property that allows my TreeNode to appear as hyperlink with hand-cursor
when hover.

For your information, my TreeView control is on a master page. I have done
some tricks but when clicking the node, it does the post-back and my page
appears empty with nothing on it except the popup message box confirming to
close the browser. Below is the code:

Protected Sub tvwMain_SelectedNodeChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles tvwMain.SelectedNodeChanged

If tvwMain.SelectedValue.ToUpper = "EXIT" Then

Response.Write("<script language='javascript'
type='text/javascript'>")
Response.Write("window.close();")
Response.Write("</script>")
End If
End Sub

This is not a good solution. Anybody have better solution? Thanks in
advance.

Regards,
Antonio
 
P

pushpi

Hi,

I would like to have my TreeNode to call window.close(); without posting
back, how can I do that? At the same time, I prefer to have a SelectAction
property that allows my TreeNode to appear as hyperlink with hand-cursor
when hover.

For your information, myTreeViewcontrol is on a master page. I have done
some tricks but when clicking the node, it does the post-back and my page
appears empty with nothing on it except the popup message box confirming to
close the browser. Below is the code:

Protected Sub tvwMain_SelectedNodeChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles tvwMain.SelectedNodeChanged

If tvwMain.SelectedValue.ToUpper = "EXIT" Then

Response.Write("<script language='javascript'
type='text/javascript'>")
Response.Write("window.close();")
Response.Write("</script>")
End If
End Sub

This is not a good solution. Anybody have better solution? Thanks in
advance.

Regards,
Antonio

Hi antonio,

Try putting the below script in the head of your master page:
----------------------------------------------
<script type="text/javascript">
window.onload = function(){

var treeview = document.getElementById("<%=Tree1.ClientID %>"); //
use your treeview id instead of Tree1
var treeLinks = treeview.getElementsByTagName("a");
for(i=0;i<treeLinks.length;i++)
{
if(treeLinks.firstChild.tagName != "IMG")
{

treeLinks.onclick = function(){

//do whatever you need to do
on the click of your node
window.close();
return false; //prevents
postback
}
}
}
}</script>
 
P

pushpi

Hi,

I would like to have my TreeNode to call window.close(); without posting
back, how can I do that? At the same time, I prefer to have a SelectAction
property that allows my TreeNode to appear as hyperlink with hand-cursor
when hover.

For your information, myTreeViewcontrol is on a master page. I have done
some tricks but when clicking the node, it does the post-back and my page
appears empty with nothing on it except the popup message box confirming to
close the browser. Below is the code:

Protected Sub tvwMain_SelectedNodeChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles tvwMain.SelectedNodeChanged

If tvwMain.SelectedValue.ToUpper = "EXIT" Then

Response.Write("<script language='javascript'
type='text/javascript'>")
Response.Write("window.close();")
Response.Write("</script>")
End If
End Sub

This is not a good solution. Anybody have better solution? Thanks in
advance.

Regards,
Antonio

Hi,

I would like to have my TreeNode to call window.close(); without posting
back, how can I do that? At the same time, I prefer to have a SelectAction
property that allows my TreeNode to appear as hyperlink with hand-cursor
when hover.

For your information, myTreeViewcontrol is on a master page. I have done
some tricks but when clicking the node, it does the post-back and my page
appears empty with nothing on it except the popup message box confirming to
close the browser. Below is the code:

Protected Sub tvwMain_SelectedNodeChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles tvwMain.SelectedNodeChanged

If tvwMain.SelectedValue.ToUpper = "EXIT" Then

Response.Write("<script language='javascript'
type='text/javascript'>")
Response.Write("window.close();")
Response.Write("</script>")
End If
End Sub

This is not a good solution. Anybody have better solution? Thanks in
advance.

Regards,
Antonio

Hi antonio,

Try putting the below script in the head of your master page:
----------------------------------------------
<script type="text/javascript">
window.onload = function(){

var treeview = document.getElementById("<%=Tree1.ClientID %>"); //
use your treeview id instead of Tree1
var treeLinks = treeview.getElementsByTagName("a");
for(i=0;i<treeLinks.length;i++)
{
if(treeLinks.firstChild.tagName != "IMG")
{

treeLinks.onclick = function(){

//do whatever you need to do
on the click of your node
window.close();
return false; //prevents
postback
}
}
}
}</script>
 

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

Members online

No members online now.

Forum statistics

Threads
473,990
Messages
2,570,211
Members
46,796
Latest member
SteveBreed

Latest Threads

Top