在加载项 Web 的网页中添加 Web 部件

可以在 SharePoint 加载项的加载项 Web 页面中添加现成可用的 Web 部件,但请务必注意,如果你需要更新加载项,执行此操作不能导致任何问题。

有关说明本主题指南的代码示例,请参阅 OfficeDev/Core.WebPartOnAppWebPage

向页面添加 Web 部件

  1. 在 Visual Studio 中创建 SharePoint 托管的 SharePoint 加载项项目。 有关详细信息,请参阅开始创建 SharePoint 托管的 SharePoint 加载项

  2. 打开要在其中添加 Web 部件的 .aspx 文件。 本主题使用 Default.aspx 作为示例。

  3. 在你想让 Web 部件包含标记的 <asp:Content> 元素中添加 WebPartZone。 通常情况下,应将其添加到 <asp:Content> 中,其中,ContentPlaceHolderIdPlaceHolderMain。 示例如下。

      <asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
        <WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly"
          ID="HomePage1" Title="loc:full" />
      </asp:Content>
    

    警告

    可以将 Web 部件元素(如 <WebPartPages:XsltListViewWebPart)> 添加为 WebPartZone 的子元素。 但这通常是 SharePoint 加载项中的不建议做法。 如果需要更新加载项,在 .aspx 文件中插入的 Web 部件元素可能会导致在某些情况下更新失败,并显示消息“已将具有此 ID 的 Web 部件添加到此页面”。建议将 Web 部件添加到页面的元素清单中,如此过程稍后所述。

  4. 打开页面的元素清单文件。 通常名为 elements.xml,并位于与 aspx 文件相同的项目文件夹中。

  5. 在页面的 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>
    
  6. 添加 CDATA 元素作为 AllUsersWebPart 的子元素,然后添加 webParts 元素作为 CDATA 的子元素,如此示例中所示。

      <AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1">
        <![CDATA[
          <webParts>
    
          </webParts>
        ]]>
      </AllUsersWebPart>
    
  7. 添加 webPart 标记作为 webParts 元素的子元素。 以下是添加 XsltListViewWebPart 的示例。 它假定名为“测试列表”的自定义列表是同一加载项项目的一部分。 有关如何将自定义列表添加到加载项 Web 的信息,请参阅创建包含自定义 SharePoint 列表和内容类型的提供程序托管的加载项

    注意

    请注意,Web 部件没有 ID 属性。 最佳做法是,仅在两种真正需要的情况下添加 Web 部件的显示 ID:Web 部件要添加到 SharePoint Wiki 网页中。 Web 部件是已连接的两个或更多个 Web 部件之一。

      <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 调试加载项。 应该会在页面上看到 Web 部件。

另请参阅