次の方法で共有


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

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

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

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

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

ファイル

説明

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

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

コード ファイル

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

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

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

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

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

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

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

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

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 ページを開くと表示されるデザイナーの使用方法について説明します。