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 パーツから使用できる再利用可能なカスタム コントロールを作成する方法について説明します。 |
|
プロジェクトで Web ページを開くと表示されるデザイナーの使用方法について説明します。 |