您的位置:首页 > 运维架构 > 网站架构

SharePoint开发网站结构树视图

2014-04-26 11:46 274 查看

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部件到页面,效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: