SharePoint开发网站结构树视图

SharePoint开发网站结构树视图

1. 新建可视WebPart项目。

2. 插入Treeview


3. 查看代码,输入以下代码片:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;

namespace SiteStructure.VisualWebPart1
{
    public partial class VisualWebPart1UserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SPWeb thisWeb = null;
            TreeNode node;
            thisWeb = SPContext.Current.Web;
            // Add the Web's title
            node = new TreeNode(thisWeb.Title, null, null, thisWeb.Url, "_self");
            //The Visual Web Part has a treeview control called siteStructure
            siteStucture.Nodes.Add(node);
            //Get a reference to the current node, so child nodes can be added
            TreeNode parentNode = node;
            //Iterate through the lists collection of the Web
            foreach (SPList list in thisWeb.Lists)
            {
                if (!list.Hidden)
                {
                    node = new TreeNode(list.Title, null, null, list.DefaultViewUrl, "_self");
                    parentNode.ChildNodes.Add(node);
                }
                foreach (SPWeb childWeb in thisWeb.Webs)
                {
                    //Call our own helper function for adding each child web to the tree
                    addWebs(childWeb, parentNode);

                    childWeb.Dispose();
                }
                siteStucture.CollapseAll();
            }
        }
            void addWebs(SPWeb web,TreeNode parentNode)
            {
                TreeNode node;
                node=new TreeNode(web.Title,null,null,web.Url,"_self");
                parentNode.ChildNodes.Add(node);
                parentNode=node;
                foreach (SPList list in web.Lists)
                {
                    if (!list.Hidden )
                    {
                        node=new TreeNode(list.Title ,null,null,list.DefaultViewUrl,"_self");
                        parentNode.ChildNodes.Add(node);
                    }
                }
                foreach(SPWeb childWeb in web.Webs)
                {
                    //Call the addWebs() function from itself (i.e. recursively)
                    //to add all child webs until there are no more to be added
                    addWebs(childWeb,parentNode);
                    childWeb.Dispose();
                }
            }
        }
    }
4. 部署解决方案,插入Web部件到页面,效果图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值