Включение веб-части на веб-страницу сайта надстройки
Вы можете добавить готовую веб-часть на страницу сайта надстройки SharePoint, но важно делать это так, чтобы не возникало проблем с обновлением надстройки.
Пример кода, иллюстрирующий представленные в этой статье рекомендации: OfficeDev/Core.WebPartOnAppWebPage.
Добавление веб-части на страницу
Создайте в Visual Studio проект надстройки SharePoint с размещением в SharePoint. Дополнительные сведения см. в статье Создание надстроек SharePoint с размещением в SharePoint.
Откройте файл .aspx, в который вы хотите добавить веб-часть. В этой статье в качестве примера используется файл Default.aspx.
Добавьте WebPartZone в элемент
<asp:Content>
, в котором нужно указать веб-часть. Обычно его добавляют в элемент<asp:Content>
, свойствоContentPlaceHolderId
которого имеет значениеPlaceHolderMain
. Ниже приведен пример.<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="HomePage1" Title="loc:full" /> </asp:Content>
Предупреждение
Можно добавить элемент веб-части, например <WebPartPages:XsltListViewWebPart,> в качестве дочернего элемента WebPartZone. Но мы не рекомендуем это делать в надстройке SharePoint. Если надстройка когда-либо потребуется обновить, элемент веб-части, вставленный в ASPX-файл, может привести к сбою обновления в некоторых сценариях с сообщением "Веб-часть с этим идентификатором уже добавлена на эту страницу". Рекомендуется добавить веб-части в манифест элементов для страницы, как описано далее в этой процедуре.
Откройте файл манифеста элементов для страницы. Обычно он называется elements.xml и находится в той же папке проекта, что и файл .aspx.
В элементе File для страницы добавьте дочерний элемент AllUsersWebPart и задайте его WebPartZoneID значение зоны веб-частей, созданной на странице, как показано в этом примере.
<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. Предполагается, что пользовательский список "Test List" входит в состав того же проекта надстройки. Информацию о том, как добавить пользовательский список на сайт надстройки, см. в статье Создание надстройки с размещением у поставщика, которая включает в себя настраиваемый список и тип контента SharePoint.
Примечание.
Обратите внимание на то, что у веб-части нет свойства ID. Рекомендуем включать явный идентификатор веб-части только в двух случаях, когда это действительно необходимо. Включайте его, когда веб-часть добавляется на вики-страницу SharePoint или является одной из нескольких связанных веб-частей.
<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 для отладки надстройки. Веб-часть должна появиться на странице.