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(); } }
参考资料