Click here to Skip to main content
15,889,852 members
Articles / Web Development / ASP.NET
Tip/Trick

Load page in IFRAME based on TreeView node selection

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
8 Mar 2011CPOL 26.4K   2   3
Load page in IFRAME based on TreeView node selection without postback.
This is helpful when you are using TreeView and IFRAME and you want to load a page in IFRAME according to selected value from TreeView.

.aspx
XML
<asp:TreeView ID="TreeView1" class="leftpaneltree" runat="server" ImageSet="Arrows"
                                        NodeIndent="7" ExpandDepth="0">
                                        <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
                                        <Nodes>
                                            <asp:TreeNode Text="User" Value="User" NavigateUrl="User/Users.aspx"
                                                 Value="">
                                                <asp:TreeNode Text="Admin" Value="Admin" NavigateUrl="User/Admin.aspx">
                                                </asp:TreeNode>
                                                <asp:TreeNode Text="User" Value="User" NavigateUrl="User/User.aspx">
                                                </asp:TreeNode>
                                            </asp:TreeNode>
                                            <asp:TreeNode NavigateUrl="Department/Department.aspx" Text="Department"
                                                Value="Department">
                                                <asp:TreeNode NavigateUrl="Department/Sales.aspx" Text="Sales"
                                                    Value="Sales"></asp:TreeNode>
                                                <asp:TreeNode NavigateUrl="Department/Purchase.aspx" Text="Purchase"
                                                    Value="Purchase"></asp:TreeNode>
                                                <asp:TreeNode NavigateUrl="Department/Marketing.aspx" Text="Marketing"
                                                    Value="Marketing"></asp:TreeNode>
                                            </asp:TreeNode>
                                        </Nodes>
                                        <NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black" HorizontalPadding="2px"
                                            NodeSpacing="0px" VerticalPadding="0px" />
                                        <ParentNodeStyle Font-Bold="False" />
                                        <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px"
                                            VerticalPadding="0px" />
                                    </asp:TreeView>
 <script language="javascript" type="text/javascript">
        assignTreeNodeEvent();
        function assignTreeNodeEvent() {
            var tree = document.getElementById('<%=TreeView1.ClientID %>');
            var nodes = tree.getElementsByTagName('a');
            for (var n = 0; n < nodes.length; n++) {
                var url = nodes[n].getAttribute('href');
                if (url.indexOf(".aspx") > 3) {
                    nodes[n].setAttribute('href', '#');
                    var strclick = "changePage('" + url + "')";
                    nodes[n].setAttribute('onclick', strclick);
                }
            }
        }
        function changePage(sTargetPage) {
            var frmPage = document.getElementById('iframeName');
            frmPage.src = sTargetPage;
        }
    </script>

License

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


Written By
Technical Lead Infostretch Ahmedabad-Gujarat
India India
Aspiring for a challenging carrier wherein I can learn, grow, expand and share my existing knowledge in meaningful and coherent way.

sunaSaRa Imdadhusen


AWARDS:

  1. 2nd Best Mobile Article of January 2015
  2. 3rd Best Web Dev Article of May 2014
  3. 2nd Best Asp.Net article of MAY 2011
  4. 1st Best Asp.Net article of SEP 2010


Read More Articles...

Comments and Discussions

 
QuestionMy Sharepoint sample Pin
Kamalnath98216-Mar-15 12:41
Kamalnath98216-Mar-15 12:41 
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
if (Request.QueryString["List"] != null)
{
string strListName = Request.QueryString["List"].ToString();
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists[strListName];
lblListName.Text = strListName;
SPListItemCollection itemCol = list.Folders;
string str = string.Empty;
ArrayList arFolders = new ArrayList();
ArrayList arfilterFolder = new ArrayList();
foreach (SPListItem item in itemCol)
{
arFolders.Add(item.Title);
}
arFolders.Sort();
string strFolderName = string.Empty;
if (Request.QueryString["Folder"] != null && Request.QueryString["Folder"] != string.Empty)
{
strFolderName = Request.QueryString["Folder"];
arfilterFolder.Add(strFolderName);
}
else
{
arfilterFolder = arFolders;
}
string URL = SPContext.Current.Web.Url + string.Format("/_layouts/Treeview.aspx?Documents={0}&Folder={1}",strListName, strFolderName);
foreach (string folderName in arFolders)
{
TreeNode leftNode = new TreeNode(folderName, folderName, "/_layouts/images/folder.gif", URL, null);
treeViewLeft.Nodes.Add(leftNode);
}

foreach (string folderName in arfilterFolder)
{
TreeNode node = new TreeNode(folderName, folderName, "/_layouts/images/folder.gif", "#", null);
treeView.Nodes.Add(node);
FillDocuments(folderName, list, node);
}
}
}
});
}
else
{
lblListName.Text = "Library Name not specified in URL";
}
}
}

private void FillDocuments(string folderName, SPList objList, TreeNode node)
{
SPFolder folder = objList.ParentWeb.GetFolder(objList.RootFolder.ServerRelativeUrl + "\\" + folderName);
SPFileCollection itemCol = folder.Files;
foreach (SPFile item in itemCol)
{
if (item.Name != null)
{
string fileName = item.Name.ToString();
node.ChildNodes.Add(new TreeNode(fileName, fileName, getIconPath(fileName), objList.ParentWebUrl + "\\" + item.ServerRelativeUrl, "_blank"));
}
}
}
GeneralHi! thank you. But a question. This part no found in IE. ... Pin
fense9-Feb-12 9:03
fense9-Feb-12 9:03 
GeneralRe: Hi! thank you.But a question.This part no found in IE.... Pin
Sunasara Imdadhusen22-Apr-14 3:52
professionalSunasara Imdadhusen22-Apr-14 3:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.