2010-12-21 14 views
0

A. SharePointのWebアプリケーション、サイトコレクション、サイト、およびライブラリを取得する最適な方法を知りたい2007年は(ファーム上に)インストールし、それらの各データを独自のWebパーツのドロップダウンリストに表示します。Webアプリケーション、サイトコレクション、サイト、およびライブラリデータをWebパーツのSharepoint 2007ドロップダウンリストにバインドする

C.どのようなオブジェクト・モデルまたはデータベース/テーブルIは、例えば

からこれらの情報を入手できます使用する必要があるWebパーツのどのようなタイプB.:

「ウェブをアプリケーション」DropDownList1の

"サイトコレクション" Dropdownlist2

"サイト" 博士スクロール可能なテキストエリアでopdownlist3

「ライブラリ」

答えて

1
SPFarm farm = SPFarm.Local; 
      SPWebService service = farm.Services.GetValue<SPWebService>(""); 
      foreach (SPWebApplication webapp in service.WebApplications) 
      { 
       foreach (SPSite sitecoll in webapp.Sites) 
       { 
        foreach (SPWeb web in sitecoll.AllWebs) 
        { 
         <<Use recursion here to Get sub WebS>> 
         web.Dispose(); 
        } 

        sitecoll.Dispose(); 

       } 

      } 

上記のサンプルコードを使用すると、すべてのwebアプリケーションを見つけるために、上記のサンプルを使用することができますspfarm内のすべてのウェブのリストを見つけるためのコード、sitecollection、ウェブを提供SPweb.listsで利用できるsplistcollectionからすべてのリストアイテムを取得する

+0

AllWebsは既にあなたにトップのWebとSiteコレクションのすべてのサブWebを提供しているので、サブWebを取得するための再帰は必要ありません。 – denni

+0

サイトコレクションのすべてのサブWebにWebも含まれている場合はどうなりますか? –

+0

ドロップダウンリスト機能 – Jason

0

各Webサイトの各ドロップダウンリストに各タイプのデータを表示する場合は、いくつかの接続されたWebパーツを作ることができます。例えば

1 - WebアプリケーションのリストWebパーツ

あなたはSPWebService.WebApplicationsからデータを取得することができます。選択したWebアプリケーションは、サイトコレクション一覧Webパーツのフィルタとして使用する必要があります。

2-サイトコレクション一覧Webパーツ。

SPWebApplication.Sitesからデータを取得できます。選択したサイトをWebリストWebパーツのフィルタとして使用する必要があります。使用後にSPSiteオブジェクトを廃棄してください。

3 WebリストWebパーツ。

SPSite.AllWebsからデータを取得できます。使用後にはSPWebオブジェクトを廃棄してください。

関連する問題