基本的な 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 パーツを作成するには
Visual Studio 2010 の SharePoint 開発者ツールを起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[プロジェクトの種類] で、[Visual Basic] または [C#] の [空の SharePoint プロジェクト] を選択します。
プロジェクト名として「Sample.DisplayMessage」と入力します。[OK] をクリックします。
SharePoint カスタマイズ ウィザードで、[サンドボックス ソリューションとして配置する] を選択します。[完了] をクリックします。
ソリューション エクスプローラーで、[Sample.DisplayMessage] プロジェクトを右クリックし、[追加]、[新しいアイテム] を選択します。
[新しい項目の追加] ダイアログで、[Web パーツ] テンプレートを選択し、[名前] として「DisplayMessageWebPart」と入力します。[追加] をクリックします。
Web パーツ プロパティを追加する
新しい Web パーツを追加した後に、その Web パーツに対して個人用設定が可能なプロパティを追加します。この Web パーツ プロパティにより、Web パーツ内でレンダリングされるテキストが決まります。この個人用設定は、ユーザー単位です。
注意
カスタマイズとパーソナル化の詳細については、「Web パーツのパーソナル化」を参照してください。
ASP.NET Web パーツ ページ基本クラスに基づく Web パーツの場合、カスタマイズ可能なプロパティに使用されるタグは、WebPart 基本クラスに基づく Web パーツとは異なる方法で名前が付けられます。次のリストに、これらの各プロパティを示します。
WebBrowsableAttribute クラス属性では、カスタム プロパティが SharePoint Foundation の編集ツール ウィンドウでレンダリングされます。
WebDescriptionAttribute クラス属性は、カスタム プロパティを編集するときに役に立つツールヒントを表示します。
WebDisplayNameAttribute クラス属性は、カスタム プロパティの表示名を表示します。
PersonalizableAttribute クラス属性は、カスタム プロパティへの変更がすべてのユーザーに影響するかユーザー単位で影響するかを決定します。
Web パーツ プロパティを作成するには
以下のコードをコピーして 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
パブリック宣言の上に以下のタグを追加して、ユーザー単位での変更を可能にします。
[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)> _
これで、個人用に設定できる 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 パーツを展開してテストするには
F5 キーを押して、Web パーツを展開します。
ブラウザーでページが開かれると、[ページ] タブの [編集] ボタンをクリックし、ページを編集モードにします。
[編集ツール] コンテキスト グループ内の [挿入] タブで、[Web パーツ] ボタンをクリックします。
[カテゴリ] リストで [Custom] を選択し、次に Web パーツ リストで [DisplayMessageWebPart] を選択します。[追加] をクリックします。Web パーツがページに表示され、[Hello, world!] というテキストが表示されます。
Web パーツに表示されるテキストを変更するには、ページで Web パーツを選択し、[Web パーツ ツール] コンテキスト グループの [オプション] タブを開いて、[Web パーツのプロパティ] ボタンをクリックします。
[DisplayMessageWebPart] プロパティ ウィンドウで、[その他] カテゴリを展開し、[表示メッセージ] の値を変更します。[適用] をクリックします。
これで、Web パーツにより、Web パーツ内にユーザー定義の値が表示されます。