Archivos de descripción de controles de elementos Web

Actualización: noviembre 2007

Los archivos de descripción de controles de elementos Web contienen valores de propiedad, datos de estado y detalles de ensamblado o de archivos de código fuente exportados desde un control WebPart (u otro control de usuario o de servidor de ASP.NET utilizado en una aplicación de elementos Web) a un archivo XML con extensión .WebPart. La característica de importación de elementos Web utiliza los archivos de descripción para importar en una página de elementos Web los controles que se describen en los archivos, así como para configurar el control importado con los datos guardados. En este tema se describen la estructura básica y los elementos XML incluidos en un archivo de descripción.

<webParts>
  <webPart>
    <metaData>
      <type …/>
      <importErrorMessage …/>
    </metadata>
    <data>
      <properties>
        <ipersonalizable>
          <property …/>
        </ipersonalizable>
        <property …/>
      </properties>
      <genericWebPartProperties>
        <ipersonalizable>
          <property …/>
        </ipersonalizable>
        <property …/>
      </genericWebPartProperties>
    </data>
  </webPart>
</webParts>

Comentarios

En la siguiente tabla se enumeran los elementos que se pueden incluir en un archivo de descripción de elementos Web (los elementos secundarios inmediatos del elemento aparecen debajo de éste con sangría); asimismo, se enumeran los atributos existentes para el elemento y se resume el uso que se da a éste. Tenga en cuenta que si un control implementa la interfaz IPersonalizable, aparece el elemento secundario <ipersonalizable> correspondiente con las propiedades implementadas como elementos <property>; de los contrario, el elemento <ipersonalizable> no aparece en el archivo.

Elemento

Atributos

Resumen

webParts

  webPart

Ninguno.

Elemento principal del archivo; puede aparecer una vez por archivo. La lógica de XML indica que este elemento podría contener varios elementos <webPart> por archivos, pero tal como se ha implementado actualmente, hay un elemento <webPart> en un archivo de descripción.

webPart

  metaData

data

xmlns="https://schemas.microsoft.com/WebPart/v3"

Nota:
Éste es un atributo de espacio de nombres con un valor fijo.

Representa el control cuyos datos de estado y propiedad se encuentran en el archivo. Actualmente sólo puede haber un elemento <webPart> por archivo.

metaData

type

  importErrorMessage

Ninguno.

Contiene información sobre el tipo del elemento <webPart> y un mensaje que se mostrará a los usuarios si hay errores durante el proceso de importación. Una instancia por cada elemento <webPart>.

type

Para el elemento type se debe haber especificado un atributo name, un atributo src o ambos. Si se especifican los dos, name tiene prioridad.

El valor del atributo name está compuesto de una cadena con tipo e información de ensamblado (opcional) sobre el elemento <webPart>.

El atributo src proporciona una ruta de acceso al archivo de código fuente de un control de usuario.

Enumera información de tipo para un ensamblado que contiene un elemento <webPart> o la ruta de acceso de un archivo de código fuente si <webPart> representa un control de usuario. Una instancia por cada elemento <webPart>.

importErrorMessage

Ninguno.

Contiene el texto de un mensaje que se muestra a los usuarios si se produce un error durante el proceso de importación. Una instancia por cada elemento <webPart>.

data

  properties

  genericWebPartProperties

Ninguno.

Contiene los datos de los valores de estado y propiedad del elemento <webPart>. Una instancia por cada elemento <webPart>.

properties

  ipersonalizable

  property

Ninguno.

Contiene elementos <property>, un elemento <ipersonalizable> único (que contiene elementos <property> secundarios) o ambos. El elemento <properties> siempre está presente, pero sólo tendrá elementos <property> secundarios si <webPart> tiene propiedades que se pueden personalizar. Una instancia por cada elemento <webPart>.

genericWebPartProperties

  ipersonalizable

  property

Ninguno.

Contiene elementos <property>, un elemento <ipersonalizable> único (que contiene elementos <property> secundarios) o ambos. Este elemento sólo está presente si el control que corresponde a <webPart> no hereda de la clase WebPart. Una instancia por cada elemento <webPart>.

ipersonalizable

  property

Ninguno.

Elemento secundario del elemento <properties> y del elemento <genericWebPartProperties>. Este elemento sólo aparece si el control que corresponde al elemento <webPart> implementa la interfaz IPersonalizable. Contiene uno o más elementos <property>. Una instancia por cada elemento <webPart>.

property

El elemento de propiedad tiene tres atributos: name, type y null. Se necesitan los atributos name y type; sólo se utiliza null si la propiedad tiene un valor null.

El atributo name es el nombre de una propiedad determinada para el control que corresponde al elemento <webPart>.

El atributo null puede tomar un valor true o false; sólo se utiliza cuando una propiedad tiene realmente un valor null, para distinguir ese valor de un valor de cadena vacía ("").

El atributo type identifica el objeto Type de la propiedad a la que se hace referencia en el atributo name. El valor real de type puede ser una cadena con un nombre de tipo completo, o bien una cadena que utilice uno de los nombres de tipo abreviados que se enumeran a continuación.

* string

* int

* bool

* double

* single

* datetime

* color

* unit

* fontsize

* object

* direction (representa ContentDirection)

* helpmode (representa WebPartHelpMode)

* chromestate (representa PartChromeState)

* chrometype (representa PartChromeType)

* exportmode (representa WebPartExportMode)

Elemento secundario de los elementos <properties>, <genericWebPartProperties> y <ipersonalizable>. Este elemento contiene pares de nombre/valor para cada valor de propiedad o elemento de datos de estado dentro del elemento <webPart>. Los datos reales de una propiedad se encuentran entre las etiquetas del elemento <property>, y el nombre y tipo del elemento de la propiedad se especifican mediante atributos. Puede no haber ninguno o, por el contrario, un gran número de elementos <property> dentro de los tres tipos de elementos primarios que los contienen.

Ejemplo

En los ejemplos de código siguientes se muestran dos archivos de descripción .WebPart exportados de instancias de controles en una aplicación de elementos Web. En el primer ejemplo se muestra un archivo para un control que hereda de la clase base WebPart. Observe que todos sus datos de propiedad se encuentran en la sección <properties>. En el segundo ejemplo se muestra un archivo para un control de servidor de ASP.NET que no hereda de la clase WebPart. Observe que todos sus datos de propiedad se encuentran en la sección <genericWebPartProperties>.

<!-- File exported from a System.Web.UI.WebControls.WebParts.WebPart 
     control. -->
<?xml version="1.0" encoding="utf-8"?>
<webParts>
  <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
    <metaData>
      <type name="Samples.AspNet.CS.Controls.TextDisplayWebPart, 
        App_Code.zq0cecf5, Version=0.0.0.0, Culture=neutral, 
        PublicKeyToken=null" />
      <importErrorMessage>
        Cannot import this Web Parts control.
      </importErrorMessage>
    </metaData>
    <data>
      <properties>
        <property name="AllowClose" type="bool">True</property>
        <property name="Width" type="unit" />
        <property name="AllowMinimize" type="bool">True</property>
        <property name="ContentText" type="string" null="true" />
        <property name="AllowConnect" type="bool">True</property>
        <property name="ChromeType" type="chrometype">
          Default
        </property>
        <property name="TitleIconImageUrl" type="string" />
        <property name="Description" type="string" />
        <property name="Hidden" type="bool">False</property>
        <property name="TitleUrl" type="string" />
        <property name="AllowEdit" type="bool">True</property>
        <property name="Height" type="unit" />
        <property name="HelpUrl" type="string" />
        <property name="Title" type="string" />
        <property name="CatalogIconImageUrl" type="string" />
        <property name="Direction" type="direction">
          NotSet
        </property>
        <property name="ChromeState" type="chromestate">
          Normal
        </property>
        <property name="AllowZoneChange" type="bool">True</property>
        <property name="AllowHide" type="bool">True</property>
        <property name="HelpMode" type="helpmode">Navigate</property>
        <property name="ExportMode" type="exportmode">All</property>
      </properties>
    </data>
  </webPart>
</webParts>

<!-- File exported from a System.Web.UI.WebControls.BulletedList 
     control placed in a Web Parts zone. -->
<?xml version="1.0" encoding="utf-8"?>
<webParts>
  <webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
    <metaData>
      <type name="System.Web.UI.WebControls.BulletedList, 
        System.Web, Version=2.0.0.0, Culture=neutral, 
        PublicKeyToken=b03f5f7f11d50a3a" />
      <importErrorMessage>
        Cannot import this Web Parts control.
      </importErrorMessage>
    </metaData>
    <data>
      <properties />
      <genericWebPartProperties>
        <property name="AllowClose" type="bool">True</property>
        <property name="Width" type="unit" />
        <property name="AllowMinimize" type="bool">True</property>
        <property name="AllowConnect" type="bool">True</property>
        <property name="ChromeType" type="chrometype">
          Default
        </property>
        <property name="TitleIconImageUrl" type="string" />
        <property name="Description" type="string" />
        <property name="Hidden" type="bool">False</property>
        <property name="TitleUrl" type="string" />
        <property name="AllowEdit" type="bool">True</property>
        <property name="Height" type="unit" />
        <property name="HelpUrl" type="string" />
        <property name="Title" type="string">
          Favorite Links
        </property>
        <property name="CatalogIconImageUrl" type="string" />
        <property name="Direction" type="direction">
          NotSet
        </property>
        <property name="ChromeState" type="chromestate">
          Normal
        </property>
        <property name="AllowZoneChange" type="bool">
          True
        </property>
        <property name="AllowHide" type="bool">True</property>
        <property name="HelpMode" type="helpmode">
          Navigate
        </property>
        <property name="ExportMode" type="exportmode">
          All
        </property>
      </genericWebPartProperties>
    </data>
  </webPart>
</webParts>

Vea también

Referencia

ExportWebPart

ImportWebPart

ExportMode

ImportCatalogPart