Compartir vía


Incluir un elemento web en una página web de la web de complemento

Puede incluir un elemento web prediseñado en una página de la web de complemento de un complemento de SharePoint, pero es importante que lo haga de forma que no cause problemas si alguna vez necesita actualizar el complemento.

Para obtener un ejemplo de código donde se muestran las directrices de este tema, vea OfficeDev/Core.WebPartOnAppWebPage

Agregar un elemento web a una página

  1. Cree un proyecto de un Complemento de SharePoint hospedado en SharePoint en Visual Studio. Para obtener más información, vea Introducción a la creación de complementos de SharePoint hospedados en SharePoint.

  2. Abra el archivo .aspx al que desea agregar un elemento web. En este tema se usa como ejemplo Default.aspx.

  3. Agregue un elemento WebPartZone al <asp:Content> elemento donde desea que el elemento web tenga marcado. Normalmente, quiere agregarlo a cuya <asp:Content>ContentPlaceHolderId propiedad es PlaceHolderMain. A continuación se muestra un ejemplo.

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

    Advertencia

    Es posible agregar un elemento de elemento web, como <WebPartPages:XsltListViewWebPart> como elemento secundario de WebPartZone. Pero esto suele ser una mala práctica en un complemento de SharePoint. Si el complemento necesita actualizarse alguna vez, un elemento de elemento web insertado en el archivo .aspx puede provocar un error en la actualización en algunos escenarios con el mensaje "Un elemento web con este identificador ya se ha agregado a esta página". Se recomienda agregar elementos web al manifiesto de elementos de la página, como se describe más adelante en este procedimiento.

  4. Abra el archivo de manifiesto del elemento para la página. Normalmente, esto se denomina elements.xml y se encuentra en la misma carpeta del proyecto que el archivo .aspx.

  5. En el elemento File de la página, agregue un elemento AllUsersWebPart secundario y establezca su WebPartZoneID en el valor de la zona de elementos web que creó en la página, tal y como se muestra en el ejemplo siguiente.

      <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. Agregue un elemento CDATA como elemento secundario del AllUsersWebPart y luego agregue un elemento webParts como elemento secundario del CDATA, tal y como se muestra en este ejemplo.

      <AllUsersWebPart WebPartZoneID="HomePage1" WebPartOrder="1">
        <![CDATA[
          <webParts>
    
          </webParts>
        ]]>
      </AllUsersWebPart>
    
  7. Agregue el marcado de webPart como un elemento secundario del elemento webParts. A continuación, se muestra un ejemplo en el que se agrega un XsltListViewWebPart. Se asume que hay una lista personalizada denominada "Lista de prueba" como parte del mismo proyecto de complemento. Para obtener información sobre cómo agregar una lista personalizada a una web de complemento, vea Crear un complemento hospedado por el proveedor que incluya una lista personalizada de SharePoint y un tipo de contenido.

    Nota:

    Tenga en cuenta que el elemento web no tiene una propiedad id. Se recomienda incluir un identificador explícito para el elemento web solo en los dos casos en los que realmente es necesario: el elemento web se agrega a una página wiki de SharePoint. El elemento web es uno de los dos o más elementos web que están conectados.

      <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. Seleccione F5 para depurar el complemento. Debería ver el elemento web en la página.

Vea también