Click to See Complete Forum and Search --> : display page when click on treeview menu


joecool2005
07-18-2007, 02:33 PM
Hi,

I have 2 frames displayed in column.
My left frame is a treeview. The right frame is the result when the user click on a item of the treeview.

How can I display the page on the right side when a user click a item on the treeview?
Here is the code

Web.sitemap

<?xml version="1.0" encoding="utf-8" ?>
<siteMap>
<siteMapNode url="Default.aspx" title="Home Page">
<siteMapNode url="PPC.aspx" title="Data entry">
<siteMapNode url="PPC.aspx?cat=WinMobile" title="Data entry 1"/>
</siteMapNode>
</siteMapNode>
</siteMap>


main.aspx

<frameset id="frameset1" cols="160,*" name="frameset1" border="0" frameSpacing="0" frameBorder="no">
<frame name="left" id="left" src="left.aspx" marginheight="0" marginwidth="0" scrolling="no" NORESIZE>
<frame name="right" id="right" src="right.aspx" marginheight="0" marginwidth="0" NORESIZE>
</frameset>


left.aspx

<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1">
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="False"/>
</div>
</form>

LochDhu
07-19-2007, 12:24 PM
Add the target attribute to the sitemap:

<siteMapNode url="test1.aspx" title="beer" description="" target="right"/>

Edit the Treeview to handle the DataBound event:

<asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" OnTreeNodeDataBound="Treeview1_TreeNodeDataBound">
</asp:TreeView>


Handle the event in codebehind:

Protected Sub TreeView1_TreeNodeDataBound(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) _
Handles TreeView1.TreeNodeDataBound

e.Node.Target = CType(e.Node.DataItem, SiteMapNode)("target")
End Sub

Good Luck,

Scott