基本的な Web パーツの作成

最終更新日: 2011年9月1日

適用対象: SharePoint Foundation 2010

この記事の内容
Web パーツを作成する
Web パーツ プロパティを追加する
Render メソッドをオーバーライドする
Web パーツを展開してテストする

このチュートリアルでは、サイト ページに追加できる基本的なユーザー設定 Web パーツを作成する手順について説明します。ユーザーはこの簡単な Web パーツを使用して、Web パーツ内に表示するユーザー設定メッセージを定義できます。この Web パーツは、Microsoft ASP.NET の Web パーツ クラスから派生します。SharePoint Foundation ではこの方法が推奨されます。

ASP.NET の Web パーツの詳細については、ASP.NET のマニュアル「ASP.NET QuickStart Tutorials (英語)」および「ASP.NET Web パーツ コントロール」を参照してください。

前提条件

ASP.NET

Microsoft Visual Studio 2010 の SharePoint 開発者ツール

Web パーツを作成する

Web パーツを作成するには

  1. Visual Studio 2010 の SharePoint 開発者ツールを起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  3. [プロジェクトの種類] で、[Visual Basic] または [C#] の [空の SharePoint プロジェクト] を選択します。

  4. プロジェクト名として「Sample.DisplayMessage」と入力します。[OK] をクリックします。

  5. SharePoint カスタマイズ ウィザードで、[サンドボックス ソリューションとして配置する] を選択します。[完了] をクリックします。

  6. ソリューション エクスプローラーで、[Sample.DisplayMessage] プロジェクトを右クリックし、[追加]、[新しいアイテム] を選択します。

  7. [新しい項目の追加] ダイアログで、[Web パーツ] テンプレートを選択し、[名前] として「DisplayMessageWebPart」と入力します。[追加] をクリックします。

Web パーツ プロパティを追加する

新しい Web パーツを追加した後に、その Web パーツに対して個人用設定が可能なプロパティを追加します。この Web パーツ プロパティにより、Web パーツ内でレンダリングされるテキストが決まります。この個人用設定は、ユーザー単位です。

注意

カスタマイズとパーソナル化の詳細については、「Web パーツのパーソナル化」を参照してください。

ASP.NET Web パーツ ページ基本クラスに基づく Web パーツの場合、カスタマイズ可能なプロパティに使用されるタグは、WebPart 基本クラスに基づく Web パーツとは異なる方法で名前が付けられます。次のリストに、これらの各プロパティを示します。

Web パーツ プロパティを作成するには

  1. 以下のコードをコピーして DisplayMessageWebPart ファイルに貼り付け、カスタマイズ可能な基本プロパティを作成します。

    private string customMessage = "Hello, world!";
    
    public string DisplayMessage
    {
        get { return customMessage; }
        set { customMessage = value; }
    }
    
    Private customMessage As String = "Hello, world!"
    
    Public Property DisplayMessage() as String
        Get
            Return customMessage
        End Get
        Set(ByVal value as String)
            customMessage = value
        End Set
    End Property
    
  2. パブリック宣言の上に以下のタグを追加して、ユーザー単位での変更を可能にします。

    [WebBrowsable(true),
    WebDescription("Displays a custom message"),
    WebDisplayName("Display Message"),
    Personalizable(PersonalizationScope.User)]
    
    <WebBrowsable(True), _
    WebDescription("Displays a custom message"), _
    WebDisplayName("Display Message"), _
    Personalizable(PersonalizationScope.User)> _
    
  3. これで、個人用に設定できる Web パーツ プロパティが作成されました。

Render メソッドをオーバーライドする

ここで、機能を Web パーツに追加する必要があります。Control.Render メソッド をオーバーライドすることで、ページにアクセスする際に実行する操作を Web パーツに指示できます。この例では、Web パーツによりユーザー定義のテキストがレンダリングされます。

Render メソッドをオーバーライドするには

  • 以下のコードをコピーして DisplayMessageWebPart ファイルに貼り付け、Render メソッドをオーバーライドします。

    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
        writer.Write(DisplayMessage);
    }
    
    Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
        writer.Write(DisplayMessage)
    End Sub
    

Web パーツを展開してテストする

Web パーツを展開してテストするには

  1. F5 キーを押して、Web パーツを展開します。

  2. ブラウザーでページが開かれると、[ページ] タブの [編集] ボタンをクリックし、ページを編集モードにします。

  3. [編集ツール] コンテキスト グループ内の [挿入] タブで、[Web パーツ] ボタンをクリックします。

  4. [カテゴリ] リストで [Custom] を選択し、次に Web パーツ リストで [DisplayMessageWebPart] を選択します。[追加] をクリックします。Web パーツがページに表示され、[Hello, world!] というテキストが表示されます。

  5. Web パーツに表示されるテキストを変更するには、ページで Web パーツを選択し、[Web パーツ ツール] コンテキスト グループの [オプション] タブを開いて、[Web パーツのプロパティ] ボタンをクリックします。

  6. [DisplayMessageWebPart] プロパティ ウィンドウで、[その他] カテゴリを展開し、[表示メッセージ] の値を変更します。[適用] をクリックします。

  7. これで、Web パーツにより、Web パーツ内にユーザー定義の値が表示されます。