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