Einschließen eines Webparts auf einer Webseite im Add-In-Web
Sie können ein standardmäßiges Webpart auf einer Seite im Add-In-Web eines SharePoint-Add-Ins einschließen, aber Sie müssen dies so tun, dass dadurch bei einer späteren Aktualisierung des Add-Ins keine Probleme verursacht werden.
Ein Codebeispiel, in dem die Anweisungen aus diesem Thema veranschaulicht werden, finden Sie unter OfficeDev/Core.WebPartOnAppWebPage.
Hinzufügen eines Webparts zu einer Seite
Erstellen Sie ein in SharePoint gehostetes SharePoint-Add-In-Projekt in Visual Studio. Weitere Informationen finden Sie unter Erste Schritte beim Erstellen von von SharePoint gehosteten SharePoint-Add-Ins.
Öffnen Sie die ASPX-Datei, der Sie ein Webpart hinzufügen möchten. In diesem Thema wird Default.aspx als Beispiel verwendet.
Fügen Sie ein WebPartZone-Element zu dem
<asp:Content>
-Element hinzu, in das das Webpart mit dem Markup hinzugefügt werden soll. In der Regel fügen Sie dies<asp:Content>
hinzu, derenContentPlaceHolderId
PlaceHolderMain
lautet. Es folgt ein Beispiel.<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="HomePage1" Title="loc:full" /> </asp:Content>
Warnung
Es ist möglich, ein Webpartelement wie WebPartPages<:XsltListViewWebPart> als untergeordnetes Element der WebPartZone hinzuzufügen. Im Allgemeinen ist dies jedoch in einem SharePoint-Add-In keine empfehlenswerte Vorgehensweise. Wenn das Add-In jemals aktualisiert werden muss, kann ein in die ASPX-Datei eingefügtes Webpartelement dazu führen, dass das Update in einigen Szenarien mit der Meldung "Dieser Seite wurde bereits ein Webpart mit dieser ID hinzugefügt" fehlschlägt. Es wird empfohlen, webparts zum Elementmanifest für die Seite hinzuzufügen, wie weiter unten in diesem Verfahren beschrieben.
Öffnen Sie die Elementmanifestdatei für die Seite. Sie heißt in der Regel „elements.xml" und befindet sich in demselben Projektordner wie die ASPX-Datei.
Fügen Sie im File-Element für die Seite ein untergeordnetes AllUsersWebPart-Element hinzu, und legen Sie seine WebPartZoneID auf den Wert der Webpartzone fest, die Sie auf der Seite erstellt haben, wie im folgenden Beispiel gezeigt.
<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>
Fügen Sie ein CDATA-Element als untergeordnetes Element von AllUsersWebPart hinzu, und fügen Sie dann ein webParts-Element als untergeordnetes Element von CDATA hinzu, wie im folgenden Beispiel gezeigt.
<AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1"> <![CDATA[ <webParts> </webParts> ]]> </AllUsersWebPart>
Fügen Sie das webPart-Markup als untergeordnetes Element des webParts-Elements hinzu. Im folgenden Beispiel wird ein XsltListViewWebPart hinzugefügt. Es wird davon ausgegangen, dass eine benutzerdefinierte Liste namens „Test List“ Teil desselben Add-In-Projekts ist. Informationen dazu, wie Sie einem Add-In-Web eine benutzerdefinierte Liste hinzufügen können, finden Sie unter Erstellen eines von einem Anbieter gehosteten Add-Ins, das eine benutzerdefinierte SharePoint-Liste und einen benutzerdefinierten Inhaltstyp enthält.
Hinweis
Beachten Sie, dass das Webpart über keine ID-Eigenschaft verfügt. Es wird empfohlen, eine explizite-ID für das Webpart nur in den folgenden beiden Fällen zu verwenden, in denen dies wirklich erforderlich ist: beim Hinzufügen des Webparts auf einer SharePoint-Wiki-Seite. Wenn das Webpart eines von mindestens zwei Webparts ist, die verbunden sind.
<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>
Wählen Sie F5, um das Add-In zu debuggen. Das Webpart sollte jetzt auf der Seite zu sehen sein.