アドイン Web の Web ページに Web パーツを含める
SharePoint アドインのアドイン Web のページにすぐに利用できる Web パーツを含めることができますが、アドインの更新が必要になった場合でも問題が発生しないようにすることが重要です。
このトピックのガイダンスを示すコード サンプルについては、OfficeDev/Core.WebPartOnAppWebPage を参照してください。
Web パーツをページに追加する
Visual Studio で SharePoint ホスト型の SharePoint アドイン プロジェクトを作成します。 詳細については、「SharePoint ホスト型の SharePoint アドインの作成を始める」を参照してください。
Web パーツを追加する .aspx ファイルを開きます。 このトピックでは、例として Default.aspx を使用します。
WebPartZone を、マークアップが含まれる Web パーツとする
<asp:Content>
要素に追加します。 通常は、ContentPlaceHolderId
がPlaceHolderMain
である<asp:Content>
に追加します。 次に例を示します。<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="HomePage1" Title="loc:full" /> </asp:Content>
警告
WebPartZone の子などの <WebPartPages:XsltListViewWebPart> Web パーツ要素を追加できます。 ただし、SharePoint アドインでは、これは一般に不適切な方法です。 アドインの更新が必要になると、aspx ファイルに挿入されている Web パーツ要素によって更新が失敗することがあり、「この ID の Web パーツは、既にこのページに追加されています。」というメッセージが表示される原因になります。 この手順の残りの部分で説明されているように、Web パーツをページの要素マニフェストに追加することをお勧めします。
ページの要素マニフェスト ファイルを開きます。 通常、これは elements.xml という名前で、.aspx ファイルと同じプロジェクト フォルダー内にあります。
次の例に示すように、ページの File 要素に、子 AllUsersWebPart 要素を追加し、その WebPartZoneID をページ上で作成した Web パーツ領域の値に設定します。
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Module Name="Pages"> <File Path="Pages\Default.aspx" Url="Pages/Default.aspx" ReplaceContent="TRUE" > <AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1"> </AllUsersWebPart> </File> </Module> </Elements>
次の例に示すように、CDATA 要素を AllUsersWebPart の子として追加し、webParts 要素を CDATA の子として追加します。
<AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1"> <![CDATA[ <webParts> </webParts> ]]> </AllUsersWebPart>
webPart マークアップを webParts 要素の子として追加します。 XsltListViewWebPart を追加する例を次に示します。 この例では、"テスト リスト" と呼ばれるカスタム リストが、同じアドイン プロジェクトの一部であることを前提としています。 カスタム リストをアドイン Web に追加する方法については、「SharePoint のカスタムのリストおよびコンテンツ タイプを含む、プロバイダー向けのホスト型アドインを作成する」を参照してください。
注意
Web パーツに ID プロパティがないことに注意してください。 ベスト プラクティスとして、本当に必要な次の 2 つの場合にのみ明示的な ID を Web パーツに含めます。Web パーツが SharePoint wiki ページに追加されている場合。 Web パーツが、接続される 2 つ以上の Web パーツのうちの 1 つの場合。
<webParts> <webPart xmlns="http://schemas.microsoft.com/WebPart/v3"> <metaData> <type name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> </metaData> <data> <properties> <property name="ListUrl">Lists/{TestList}</property> <property name="IsIncluded">True</property> <property name="NoDefaultStyle">True</property> <property name="Title">{Test List}</property> <property name="PageType">PAGE_NORMALVIEW</property> <property name="Default">False</property> <property name="ViewContentTypeId">0x</property> </properties> </data> </webPart> </webParts>
F5 キーを押してアドインをデバッグします。 ページに Web パーツが表示されます。