Incluir uma Web Part em uma página da Web no suplemento web
Você pode incluir uma Web Part fora da caixa em uma página na web de suplemento de um Suplemento do SharePoint, mas é importante que você faça isso de uma maneira que não causará problemas se precisar atualizar o suplemento.
Para obter um exemplo de código que ilustra as diretrizes deste tópico, consulte OfficeDev/Core.WebPartOnAppWebPage.
Adicionar uma Web Part a uma página
Crie um projeto de suplemento do SharePoint hospedado no SharePoint no Visual Studio. Para obter detalhes, confira Introdução à criação de suplementos do SharePoint hospedados pelo SharePoint.
Abra o arquivo .aspx ao qual você deseja adicionar uma Web Part. Este tópico usa Default.aspx como exemplo.
Adicione um WebPartZone ao
<asp:Content>
elemento em que você deseja a Web Part com marcação. Normalmente, você deseja adicioná-lo ao<asp:Content>
cujoContentPlaceHolderId
éPlaceHolderMain
. Apresentamos um exemplo a seguir.<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="HomePage1" Title="loc:full" /> </asp:Content>
Aviso
É possível adicionar um elemento web part, como <WebPartPages:XsltListViewWebPart> como filho do WebPartZone. Mas isso geralmente é uma má prática em um suplemento do SharePoint. Se o suplemento precisar ser atualizado, um elemento web part inserido no arquivo .aspx poderá fazer com que a atualização falhe em alguns cenários com a mensagem "Uma Web Part com essa ID já foi adicionada a esta página". Recomendamos adicionar web parts ao manifesto de elementos para a página, conforme descrito posteriormente neste procedimento.
Abra o arquivo de manifesto do elemento para a página. Isso geralmente é chamado de elements.xml e está localizado na mesma pasta de projeto que o arquivo .aspx.
No elemento Arquivo da página, adicione um elemento Filho AllUsersWebPart e defina seu WebPartZoneID como o valor da zona da Web Part que você criou na página, como mostra este exemplo.
<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>
Adicione um elemento CDATA como filho do AllUsersWebPart e adicione um elemento webParts como filho da CDATA, conforme mostrado neste exemplo.
<AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1"> <![CDATA[ <webParts> </webParts> ]]> </AllUsersWebPart>
Adicione a marcação webPart como uma criança do elemento WebParts . A seguir está um exemplo que adiciona um XsltListViewWebPart. Ele pressupõe que uma lista personalizada chamada "Lista de Testes" faça parte do mesmo projeto de suplemento. Para obter informações sobre como adicionar uma lista personalizada a um suplemento da Web, consulte Criar um suplemento hospedado pelo provedor que inclua uma lista personalizada do SharePoint e um tipo de conteúdo.
Observação
Observe que a Web Part não tem uma propriedade ID. É uma prática recomendada incluir uma ID explícita para a Web Part somente nos dois casos em que ela é realmente necessária: a Web Part está sendo adicionada a uma página wiki do SharePoint. A Web Part é uma das duas ou mais web parts que estão conectadas.
<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>
Selecione F5 para depurar o suplemento. Você deve ver a Web Part na página.