Включение веб-части на веб-страницу сайта надстройки

Вы можете добавить готовую веб-часть на страницу сайта надстройки SharePoint, но важно делать это так, чтобы не возникало проблем с обновлением надстройки.

Пример кода, иллюстрирующий представленные в этой статье рекомендации: OfficeDev/Core.WebPartOnAppWebPage.

Добавление веб-части на страницу

  1. Создайте в Visual Studio проект надстройки SharePoint с размещением в SharePoint. Дополнительные сведения см. в статье Создание надстроек SharePoint с размещением в SharePoint.

  2. Откройте файл .aspx, в который вы хотите добавить веб-часть. В этой статье в качестве примера используется файл Default.aspx.

  3. Добавьте 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-файл, может привести к сбою обновления в некоторых сценариях с сообщением "Веб-часть с этим идентификатором уже добавлена на эту страницу". Рекомендуется добавить веб-части в манифест элементов для страницы, как описано далее в этой процедуре.

  4. Откройте файл манифеста элементов для страницы. Обычно он называется elements.xml и находится в той же папке проекта, что и файл .aspx.

  5. В элементе 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>
    
  6. Добавьте дочерний элемент CDATA в AllUsersWebPart, а затем добавьте дочерний элемент webParts в CDATA, как показано в этом примере.

      <AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1">
        <![CDATA[
          <webParts>
    
          </webParts>
        ]]>
      </AllUsersWebPart>
    
  7. Добавьте разметку 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>
    
  8. Нажмите клавишу F5 для отладки надстройки. Веб-часть должна появиться на странице.

См. также