SharePoint 2010中的TreeView控件

本文将讨论如何以编程的方式使用SharePoint 2010中的Treeview控件。

首先,我们将通过VS 2010创建一个应用程序页,来包含一个下拉框以绑定所有的SharePoint 2010 Navigatio Provider,和一个TreeView控件来以树形结构显示所选的Navigatio Provider。以下是具体步骤-

1、在VS 2010中创建一个应用程序页

2、下面的代码是应用程序aspx页的内容:

<%@ Page Language=”C#” AutoEventWireup=”true” DynamicMasterPageFile=”~masterurl/default.master”
CodeFile=”NavigationProviders.aspx.cs” Inherits=”NavigationProviders” CodeFileBaseClass=”Microsoft.SharePoint.WebControls.LayoutsPageBase” %>

<asp:Content ContentPlaceHolderId=”PlaceHolderMain” runat=”server”>
<asp:DropDownList id=”ddlNavProviders” runat=”server” AutoPostBack=”True” OnSelectedIndexChanged=”ddlNavProviders_SelectedIndexChanged” />
<asp:TreeView id=”navTreeView” runat=”server”></asp:TreeView>
</asp:Content>

3、添加后台代码 - code-behind类中首先用所有的定义在web.config中的navigation provider初始化DropDownList。通过选择一个navigation provider,指向该provider的SiteMapDataSource会绑定到TreeView。

using System;
using System.Web;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
public partial class NavigationProviders : LayoutsPageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Init the DropDown element with all available navigation providers
ddlNavProviders.DataSource = SiteMap.Providers;
ddlNavProviders.DataTextField = “Name”;
ddlNavProviders.DataBind();
}
}

protected void ddlNavProviders_SelectedIndexChanged(object sender,EventArgs args)
{
// Bind the selected navigation provider to the TreeView
SiteMapDataSource ds = new SiteMapDataSource();
ds.Provider = SiteMap.Providers[ddlNavProviders.SelectedItem.Text];
navTreeView.DataSource = ds;
navTreeView.DataBind();
}
}

 

参考资料

Treeview Control in SharePoint 2010

posted @ 2010-08-30 08:42  Sunmoonfire  阅读(296)  评论(0编辑  收藏  举报