Web パーツまたはアプリケーション ページの再利用できるコントロールの作成

Visual Studio を使用すると、カスタムの再利用できるコントロールを作成できます。このコントロールは、SharePoint で実行されるアプリケーション ページと Web パーツから利用できます。 このようなコントロールは、ユーザー コントロールと呼ばれます。 ユーザー コントロールの詳細については、「ASP.NET ユーザー コントロール」を参照してください。

ユーザー コントロールの作成

ユーザー コントロールを作成するには、空の SharePoint プロジェクトユーザー コントロールを追加します。 詳細については、「方法: SharePoint アプリケーション ページまたは Web パーツのユーザー コントロールを作成する」を参照してください。

ユーザー コントロール項目を追加すると、プロジェクトにフォルダーが作成され、そのフォルダーにいくつかのファイルが追加されます。 各ファイルの説明を次の表に示します。

ファイル

説明

ユーザー コントロール ファイル

ユーザー コントロールを定義します。 コントロールとマークアップをこのファイルに追加して、ユーザー コントロールをデザインします。

コード ファイル

ユーザー コントロールに分離コードを含めます。 このファイルにイベントを処理するコードを追加します。

デザイナー コード ファイル

デザイナーによって生成されるコードが格納されます。直接編集することはできません。

ユーザー コントロールのデザイン

Visual Studio の Visual Web Developer デザイナーを使用してユーザー コントロールをデザインします。 プロジェクトのユーザー コントロール ファイルをダブルクリックすると、このデザイナーが表示されます。 このデザイナーの使用方法の詳細については、「Visual Web Developer のコンテンツ マップ」を参照してください。

ユーザー コントロールの使用

アプリケーション ページまたは Web パーツにユーザー コントロールを含めるまで、ユーザー コントロールは SharePoint に表示されません。

ユーザー コントロールをアプリケーション ページに含めるには、@ Register ディレクティブをアプリケーション ページに追加した後、ページ内の 1 つ以上のコンテンツ プレースホルダーの内部でユーザー コントロールを宣言します。 このタスクを標準的な ASP.NET Web ページで実現する方法の例については、「方法 : ASP.NET Web ページにユーザー コントロールを含める」を参照してください。

Web パーツにユーザー コントロールを含めるには、Web パーツ コード ファイルの Web パーツ Controls コレクションにユーザー コントロールを追加します。 次の例では、Web パーツの Controls コレクションにユーザー コントロールを追加します。

<ToolboxItemAttribute(false)> _
Public Class VisualWebPart1
    Inherits WebPart

    Private Const _ascxPath As String = "~/_CONTROLTEMPLATES/VB/VisualWebPart1/VisualWebPart1UserControl.ascx"

    Public Sub New()
    End Sub

    Protected Overrides Sub CreateChildControls()
        Dim control As Control = Page.LoadControl(_ascxPath)
        Controls.Add(control)
        MyBase.CreateChildControls()
    End Sub

    Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
        MyBase.RenderContents(writer)
    End Sub

End Class
[ToolboxItemAttribute(false)]
public class VisualWebPart1 : WebPart
{
    private const string _ascxPath = @"~/_CONTROLTEMPLATES/CS/VisualWebPart1/VisualWebPart1UserControl.ascx";

    public VisualWebPart1()
    {
    }

    protected override void CreateChildControls()
    {
        Control control = this.Page.LoadControl(_ascxPath);
        Controls.Add(control);
        base.CreateChildControls();
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
        base.RenderContents(writer);
    }

}

ユーザー コントロールのデバッグ

ユーザー コントロールをデバッグするには、SharePoint プロジェクトのアプリケーション ページまたは Web パーツにユーザー コントロールが含まれていることを確認します。 Visual Studio プロジェクトでコードをデバッグする場合と同様に、ユーザー コントロールのコードをデバッグできます。

Visual Studio デバッガーを開始すると、SharePoint サイトが開きます。

SharePoint で、ユーザー コントロールを含むアプリケーション ページを開きます。 ユーザー コントロールが Web パーツに含まれる場合、SharePoint の Web パーツ ページに Web パーツを追加します。

SharePoint プロジェクトのデバッグの詳細については、「SharePoint ソリューションのトラブルシューティング」を参照してください。

関連トピック

タイトル

説明

方法: SharePoint アプリケーション ページまたは Web パーツのユーザー コントロールを作成する

SharePoint で実行されるアプリケーション ページと Web パーツから使用できる再利用可能なカスタム コントロールを作成する方法について説明します。

Visual Web Developer の操作

プロジェクトで Web ページを開くと表示されるデザイナーの使用方法について説明します。