Tutorial de ASP.NET
Vista Previa de ASP.NET 2.0

Introducción a los Controles Elementos Web

El Conjunto de Controles Elementos Web incluye los siguientes controles:
  • Los WebPart son controles ASP.NET de servidor que pueden ser usados y personalizados con el Conjunto de Controles Elementos Web. Cualquier control de servidor o control de usuario puede comportarse como un WebPart.
  • Las WebPartZone proporcionan un modo de organizar partes dentro de regiones en la página. Las WebPartZone son controles contenedores que proporcionan capas para los WebPart y para añadir IU comunes, consistentes como un Menú Verb y borde a cada WebPart.
  • El control WebPartManager maneja el estado de personalización de las páginas y coordina la comunicación entre las partes y las zonas. Cada página que usa el paquete de Controles Elementos Web debe tener un control WebPartManager.


El código siguiente muestra una WebPartZone con un único WebPart. Los WebPart en una zona están contenidos en su ZoneTemplate.


<asp:WebPartZone ID="WebPartZone1" Runat="server">
<ZoneTemplate>
<asp:Calendar Runat="server" ID="Calendar1"/>
</ZoneTemplate>
</asp:WebPartZone>

Este ejemplo muestra una página simple que usa WebParts. Incluye un control WebPartManager, un control WebPartPageMenu y dos WebPartZones. Una de las zonas contiene un contro ASP.NET Calendar.

  1. Entrad en la página
  2. Seleccionad "Diseño" (Design) en la lista del menú desplegable.
  3. Moved los WebPart a diferentes zonas.
  4. Cerrad el navegador e iniciad el ejemplo nuevamente. Podréis ver que se han aplicado vuestros cambios personalizados.

C# WebParts y Zonas


Las páginas con WebPart también pueden contener WebPart que no son visibles por defecto. Los usuarios pueden añadir estos WebPart a las páginas desde un catálogo. Un catálogo permite definir contenido opcional que por defecto no es visible en la página.

Para dotar a la página de un catálogo es necesario dotarla de un control especial de zona, llamado CatalogZone. En esta zona se pueden añadir Catalog Part que proporcionan diferentes clases de controles. Este ejemplo muestra una página con una CatalogZone que contiene un PageCatalogPart, el cual proporciona un catálogo de todos los WebPart cerrados que se ha definido en la página.

  1. Entrad en la página
  2. Haced click sobre la flecha en el menú desplegable del Menu Verbo del control depués haced click en el Cerrar en el calendario para cerrar el WebPart.
  3. Seleccionad "Catálogo" (Catalog) de la lista desplegable del menú.
  4. Marcad la casilla próxima al WebPart llamado "Sin titulo" y haced click en el botón Agregar. El calendario será agregado nuevamente a la primera zona.

C# WebPartCatalogs


Además de permitir a los usuarios personalizar el diseño y la visibilidad de los WebPart de una página, se puede permitir a los usuarios editar las propiedades de cada WebPart. Cada WebPart tiene, por defecto, un conjunto de propiedades que se pueden personalizar. Cada control puede tambien proporcionar propiedades adicioneales que se pueden personalizar.

Para permitir la edición de propiedades del control es necesario añadir a la página un control especial de zona llamado EditorZone. Se pueden añadir uno o más EditorPart a esta zona. Se proporcinan los siguientes EditorPart:

  • El control AppearanceEditorPart permite a los ususarios editar la apariencia visual de un WebPart.
  • El control BehaviorEditorPart permite a los usuarios editar las propiedades del comportamiento del WebPart.
  • El control LayoutEditorPart permite editar la distribución de un WebPart.
  • El control PropertyGridEditorPart muestra una rejilla de propiedades que permite a los usuarios editar las propiedades personalizables de un WebPart

Es posible, además, crear tu propio editor personalizado de WebPart por medio de la herencia desde la clase base EditorPart.

Este ejemplo muestra una página con una EditorZone que contiene un AppearanceEditorPart.

  1. Entrad en la página
  2. Seleccionad "Editar" (Edit) en la lista desplegable del menú. Ahora se podréis ver el editor.
  3. Haced click en "Editar" en el Menú del calendario para editar el WebPart.
  4. Modificad el título en el editor, y haced click en Aceptar. El título del calendario se actualizará.
C# Editores WebPart