サイトまたはサイト コレクションを作成または削除する
最終更新日: 2010年4月12日
適用対象: SharePoint Foundation 2010
サイトを作成するには、SPWebCollection クラスの Add() メソッドのいずれかを使用します。サイトの下にサブサイトを作成するには、SPWeb クラスの Webs プロパティを使用してサブサイトのコレクションを取得し、そのコレクションに対して Add() メソッドのいずれかを呼び出します。
注意
このトピックのコード例では、Microsoft.SharePoint.SPContext クラスのメンバーを使用して、現在のサイト コレクション、Web サイト、またはリストを取得します。コンソール アプリケーション、Windows アプリケーションなど、HTTP コンテキストの外部では、異なるメソッドを使用して主要なオブジェクトへの参照を取得します。詳細については、「サイト、Web アプリケーション、およびその他の主要オブジェクトへの参照を取得する」を参照してください。
次の例では、現在のサイトのテンプレートと 3 つのテキスト ボックスから収集した情報に基づいて新しいサブサイトを作成しています。テキスト ボックスでは、新しい URL で使用する名前、サブサイトに使用するタイトル、およびサブサイトの説明を指定します。
この例では、SPWeb クラスの WebTemplate プロパティによって返される現在のサイト定義の名前を、Add メソッドのパラメーターとして渡しています。さらに、このメソッドの 3 つのパラメーターで、3 つのテキスト ボックスから収集した情報を渡しています。他の 3 つのパラメーターで、以下のものを指定します。
LocaleID フォルダー (LocaleID はインストールのロケール識別子 (LCID) であり、英語 (米国) の LCID は 1033)
固有の権限を持つサイトを作成するかどうかについて true
同じ場所にある既存の Web サイトを SharePoint サイトに変換するかどうかについて false
Dim mySite As SPWeb = SPContext.Current.Web
Dim subSites As SPWebCollection = mySite.Webs
Dim currentTemplate As String = mySite.WebTemplate
Dim siteUrl As String = TextBox1.Text.ToString()
Dim siteTitle As String = TextBox2.Text.ToString()
Dim siteDescription As String = TextBox3.Text.ToString()
subSites.Add(siteUrl, siteTitle, siteDescription,
Convert.ToUInt32(1033), currentTemplate, True, False)
SPWeb mySite = SPContext.Current.Web;
SPWebCollection subSites = mySite.Webs;
string currentTemplate = mySite.WebTemplate;
string siteUrl = TextBox1.Text.ToString();
string siteTitle = TextBox2.Text.ToString();
string siteDescription = TextBox3.Text.ToString();
subSites.Add(siteUrl, siteTitle, siteDescription, 1033,
currentTemplate, true, false);
サイトを削除するには、SPWeb クラスの Delete メソッドまたは SPWebCollection クラスの Delete メソッドを使用します。
次の例では、削除するサイトの URL がテキスト ボックスで指定されることを想定し、SPWebCollection クラスの Delete メソッドを使用してサイトを削除しています。
Dim deleteSite As String = TextBox1.Text.ToString()
Dim mySite As SPSite = SPContext.Current.Site
Dim sites As SPWebCollection = mySite.AllWebs
sites.Delete(deleteSite)
string deleteSite = TextBox1.Text.ToString();
SPSite mySite = SPContext.Current.Site;
SPWebCollection sites = mySite.AllWebs;
sites.Delete(deleteSite);
この例では、SPSite クラスの AllWebs プロパティは、現在のサイト コレクション内のすべてのサイトのコレクションを返します。
上記の各例では、Microsoft.SharePoint 名前空間の using ディレクティブ (Visual Basic の場合は Imports) が必要になります。
SharePoint Foundation のコンテキストで動作するアプリケーション ページを作成する方法の詳細については、「SharePoint のアプリケーション ページの作成 (英語)」を参照してください。