Bloque de creación: elementos web

Última modificación: viernes, 09 de abril de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Modelo de objetos para elementos web
XML para elementos web
Áreas relacionadas con los elementos web
Más información acerca de los elementos web

Los elementos web son controles del lado servidor que se ejecutan dentro del contexto de páginas de sitio de Microsoft SharePoint Foundation. Se pueden usar para personalizar la interfaz de usuario y para editar el contenido de una página de sitio. Microsoft SharePoint Foundation incluye elementos web predeterminados, así como la capacidad para crear elementos web personalizados. SharePoint Foundation admite dos tipos de elementos web: elementos web de SharePoint y elementos web de ASP.NET. Los elementos web de ASP.NET usan la clase base System.Web.UI.WebControls.WebParts.WebPart mientras que los elementos web de SharePoint usan la clase base Microsoft.SharePoint.WebPartPages.WebPart. Se admiten ambos tipos, pero se recomienda el elemento web de ASP.NET para todos los proyectos nuevos.

En las siguientes secciones se proporciona información general acerca de los diferentes tipos de elementos web y sobre el XML que se usa con ellos, y se incluyen vínculos a información más detallada y tutoriales.

Modelo de objetos para elementos web

Los elementos web de SharePoint Foundation se basan en la infraestructura de elementos web de Microsoft ASP.NET. Para crear elementos web para aplicaciones orientadas a SharePoint Foundation, se deben crear elementos web personalizados en la parte superior de la infraestructura de elementos web de ASP.NET. Sin embargo, en unos pocos casos, es posible que tenga que crear elementos web que admitan las características de SharePoint Foundation que no están disponibles en la infraestructura de elementos web de ASP.NET.

Elementos web de ASP.NET

La infraestructura de elementos web de ASP.NET se basa en una clase WebPartManager que administra la duración de las instancias de elementos web en tiempo de ejecución.

Cada página de ASP.NET que usa controles de elemento web debe contener los siguientes objetos para admitir la personalización:

  • Exactamente un objeto WebPartManager que realice el seguimiento de los elementos web que se agregaron a cada zona en particular, y que almacene y recupere datos sobre el modo en que se ha personalizado cada elemento web.

  • Uno o varios objetos WebPartZone, en los que se colocan los elementos web.

Para ejecutar elementos web de SharePoint Foundation en una aplicación ASP.NET, debe crear una página .aspx que contenga exactamente una instancia del control WebPartManager y uno o varios controles WebPartZone. El control WebPartManager es responsable de serializar los datos relacionados con el elemento web, así como de almacenar y recuperarlos de la base de datos.

Los controles SPWebPartManager y WebPartZone administran la serialización de los datos asociados con elementos web en la base de datos de contenido de SharePoint Foundation adecuada. Para poder guardar los datos, los elementos web de ASP.NET deben colocarse en una página con estos dos controles.

Dado que estos controles específicos de SharePoint Foundation son obligatorios en las páginas que contienen elementos web, no se puede simplemente copiar la página de ASP.NET en un sitio de SharePoint Foundation. Para mover los elementos web de ASP.NET de una aplicación de ASP.NET a una aplicación de SharePoint Foundation, expórtelos desde ASP.NET como archivos .webpart e impórtelos en un sitio de SharePoint Foundation.

Elementos web de SharePoint

La infraestructura de elementos web de SharePoint Foundation usa varios de los controles del conjunto de controles de elementos web de ASP.NET e introduce diversos controles propios que hereda de las clases base proporcionadas por el conjunto de controles de elementos web de ASP.NET.

Por ejemplo, las páginas de sitio de un sitio de SharePoint Foundation no usan la clase ASP.NET WebPartManager estándar. En su lugar, usan la clase SPWebPartManager específica de SharePoint Foundation que hereda de la clase ASP.NET WebPartManager.

Nota

La página principal predeterminada proporcionada con SharePoint Foundation incluye una instancia de la clase SPWebPartManager, por lo que este control se incluye automáticamente con todas las páginas de contenido de SharePoint Foundation.

De manera similar, una página de elementos web para un sitio web de SharePoint Foundation también usan una clase WebPartZone específica de SharePoint Foundation que hereda de la clase ASP.NET WebPartZone.

XML para elementos web

Los elementos web de SharePoint Foundation usan varias secciones de XML para configurarlos, implementarlos y asegurarlos en un sitio web. En esta documentación no se trata parte de la información sobre el XML, pero se incluyen vínculos a información relevante al final de este tema.

Definiciones de elementos web

Un archivo de definición de elemento web (.webpart) es un archivo XML simple que contiene la configuración de propiedad de un solo elemento web. Para importar el elemento web en una página de elementos web, basta con cargar el archivo .webpart o agregar el elemento web a la galería de elementos web. Después de descargar el elemento web, puede mostrarlo si lo arrastra a una de las zonas de la página de elementos web. Para mostrar un nombre predeterminado y una descripción para el elemento web una vez importado, deberá incluir las propiedades Title y Description. Si desea establecer otras propiedades del elemento web durante la importación, también puede definirlas en un archivo .webpart. Un archivo .webpart tiene la siguiente forma.

<?xml version="1.0" encoding="utf-8" ?> 
  <webParts>
     <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
       <metaData>
         <type name="TypeName, Version=VersionNumber, Culture=neutral, 
         PublicKeyToken=PublicKeyToken" /> 
         <importErrorMessage>Cannot import this Web 
         Part.</importErrorMessage> 
       </metaData>
       <data>
         <properties>
           <property name="Title" type="string">
              WebPartTitle
           </property>
           <property name="Description" type="string">
              WebPartDescription
           </property>
         </properties>
       </data>
     </webPart>
   </webParts>

Entradas SafeControl

Para evitar que los usuarios que no son de confianza agreguen arbitrariamente código del lado servidor en las páginas ASPX, SharePoint Foundation proporciona una lista SafeControls. La lista SafeControls es una lista de controles aprobados y elementos web específicos del sitio de SharePoint designados como seguros para la invocación de cualquier página ASPX del sitio. Esta lista se encuentra en el archivo web.config de la raíz de la aplicación web. Una entrada SafeControl es una declaración basada en XML de un elemento web que tiene la siguiente forma.

<SafeControl Assembly="AssemblyNameWithoutDLLExtension, Version=AssemblyVersionNumber, Culture=neutral, PublicKeyToken=PublicKeyToken" Namespace="NamespaceOfYourProject" TypeName="*" Safe="True" />

Para obtener más información acerca del uso de la seguridad de acceso del código, vea el tema Implementación de elementos web en SharePoint Foundation.

Seguridad de acceso a código

La seguridad de acceso del código (CAS) es un modelo de restricción de recursos de SharePoint Foundation que limita el acceso que un ensamblado tiene a los recursos y operaciones del sistema protegidos. SharePoint Foundation dispone de directivas de seguridad predeterminadas basadas en las directivas de seguridad integradas de ASP.NET. De forma predeterminada, SharePoint Foundation usa un conjunto de permisos que permite un acceso mínimo a recursos del sistema, con el fin de proteger el servidor y la infraestructura subyacente de código malintencionado.

En esta sección no se aborda el XML usado para CAS. Para obtener más información acerca de cómo asegurar elementos web, vea el tema Protección de elementos web en SharePoint Foundation.

Áreas relacionadas con los elementos web

Bloque de creación: Soluciones

Bloque de creación: Características

Más información acerca de los elementos web

Elementos web en SharePoint Foundation

Desarrollo de elementos web en Windows SharePoint Services