チュートリアル: 基本サイト定義プロジェクトの作成
このチュートリアルでは、可視 Web パーツとそこに配置されたいくつかのコントロールを含んだ基本的なサイト定義を作成する方法について説明します。 わかりやすく説明するために、ここで作成する可視 Web パーツには数個のコントロールしか配置されていないことにします。 実用するために、より多機能な洗練された SharePoint サイト定義を作成することはできます。 詳細については、「チュートリアル: 追加コンテンツを備えたサイト定義の作成」を参照してください。
このチュートリアルでは、次のタスクについて説明します。
Visual Studio プロジェクト テンプレートを使用してサイト定義を作成する。
SharePoint でサイト定義を使用して SharePoint サイトを作成する。
可視 Web パーツをソリューションに追加する。
サイトの default.aspx ページに新しい可視 Web パーツを追加してカスタマイズする。
注意
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio の設定」を参照してください。
必須コンポーネント
このチュートリアルを実行するには、次のコンポーネントが必要です。
サポート対象エディションの Microsoft Windows および SharePoint。 詳細については、「SharePoint ソリューションの開発要件」を参照してください。
Visual Studio 2010.
サイト定義ソリューションの作成
まず、Visual Studio でサイト定義プロジェクトを作成します。
サイト定義プロジェクトを作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックして [新しいプロジェクト] ダイアログ ボックスを表示します。
[Visual C#] または [Visual Basic] の [SharePoint] ノードを展開し、[SharePoint] を展開して、[2010] をクリックします。
[テンプレート] ペインの [サイト定義] を選択します。
[名前] ボックスに「TestSiteDef」と入力し、[OK] をクリックします。
SharePoint カスタマイズ ウィザードが表示されます。
[デバッグのサイトとセキュリティ レベルの指定] ページで、サイト定義をデバッグする SharePoint サーバー サイトの URL を入力するか、既定の場所 (http://<システム名>/) を使用します。
[この SharePoint ソリューションの信頼レベル] セクションでは、[ファーム ソリューションとして配置する] の既定値を使用します。
サイト定義プロジェクトはすべてファーム ソリューションとして配置する必要があります。 サンドボックス ソリューションとファーム ソリューションの違いの詳細については、「サンドボックス ソリューションの考慮事項」を参照してください。
[完了] をクリックします。 ソリューション エクスプローラーにプロジェクトが表示されます。
可視 Web パーツの作成
次に、サイト定義のメイン ページに表示する可視 Web パーツを作成します。
可視 Web パーツを作成するには
[プロジェクト] メニューの [新しい項目の追加] をクリックして、[新しい項目の追加] ダイアログ ボックスを表示します。
すべてのファイルを表示するには、ソリューション エクスプローラーの [すべてのファイルを表示] をクリックします。
[インストールされたテンプレート] のツリー ビューで [Visual Basic] または [Visual C#] のどちらかのノードを選択します。[SharePoint] を選択し、[2010] を選択して、プロジェクト項目テンプレートの一覧で [可視 Web パーツ] をクリックします。 名前には既定の "VisualWebPart1" を使用します。
これで、VisualWebPart1UserControl.ascx ファイルが開きます。
VisualWebPart1UserControl.ascx の一番下に、次のマークアップを追加します。これにより、テキスト ボックス、ボタン、およびラベルの 3 つのコントロールがフォームに追加されます。
<table> <tr> <td> <asp:TextBox runat="server" ID="tbName"></asp:TextBox> </td> <td> <asp:Button runat="server" ID="btnSubmit" Text = "Change Label Text" OnClick="btnSubmit_Click"></asp:Button> </td> <td> <asp:Label runat="server" ID="lblName"></asp:Label> </td> </tr> </table>
VisualWebPart1UserControl.ascx の下にある VisualWebPart1UserControl.ascx.cs ファイル (Visual C# の場合) または VisualWebPart1UserControl.ascx.vb ファイル (Visual Basic の場合) を開き、次のコードを追加します。
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) lblName.Text = tbName.Text End Sub
protected void btnSubmit_Click(object sender, EventArgs e) { lblName.Text = tbName.Text; }
このコードによって、Web パーツのボタン クリック用の機能が追加されます。
既定の ASPX ページへの可視 Web パーツの追加
次に、可視 Web パーツをサイト定義の既定の ASPX ページに追加します。
可視 Web パーツを既定の ASPX ページに追加するには
default.aspx ページを開き、WebPartPages タグに次のコードを追加します。
<%@ Register Tagprefix="MyWebPartControls" Namespace="TestSiteDef.SiteDefinition.VisualWebPart1" Assembly="$SharePoint.Project.AssemblyFullName$" %>
このコードによって、Web パーツとそのコードに対し、MyWebPartControls という名前が関連付けられます。 Namespace パラメーターは、VisualWebPart1Usercontrol.ascx コード ファイルに使用される名前空間と同じです。
</asp:Content> 要素の後の、ContentPlaceHolderId="PlaceHolderMain" セクションとその内容を次のコードに置き換えます。
<asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server"> <MyWebPartControls:VisualWebPart1 runat="server" /> </asp:Content>
先ほど作成した可視 Web パーツへの参照がこのコードによって作成されます。
サイト定義ソリューションの実行と配置
次に、プロジェクトを実行し、SharePoint に配置します。
サイト定義を実行して配置するには
- F5 キーを押します。 Visual Studio によってコードがコンパイルされ、フィーチャーが追加された後に、すべてのファイルが WSP ファイルにパッケージ化され、WSP ファイルが SharePoint Server に配置されます。 さらに、SharePoint によってファイルがインストールされて、フィーチャーがアクティブ化されます。
サイト定義に基づくサイトの作成
次に、新しいサイト定義を使用してサイトを作成します。
サイト定義を使用してサイトを作成するには
SharePoint サイトでは、[新しい SharePoint サイト] ページが表示されます。
[タイトルと説明] セクションで、サイトのタイトルと説明に「My New Site」と入力します。
[Web サイトのアドレス] セクションの [URL 名] ボックスに「mynewsite」と入力します。
[テンプレート] セクションで、[SharePoint のカスタマイズ] タブをクリックし、[テンプレートの選択] ボックスの一覧の [TestSiteDef] を選択します。
他の設定は既定値のままとし、[作成] をクリックします。
新しいサイトが表示されます。
新しいサイトのテスト
次に、新しいサイトが正しく動作するかどうかを確認するためにサイトをテストします。
新しいサイトをテストするには
既定の ASPX ページのテキスト ボックスに何かテキストを入力し、テキスト ボックスの横に表示される小さな四角形のボタンをクリックします。
ボタンの右側にあるラベルにそのテキストが表示されます。