You are on page 1of 13

Introducción

En este avance de trabajo tratamos de presentar las principales características del control
multiview, desde su definición hasta su ejemplificación en visual estudio para el mejor
entendimiento de nuestros compañeros, haciendo notar que su uso o más específicamente el
conocimiento de este control ayuda al desarrollo web ASP.
Multiview

Definición

Multiview y View son ambos controles del servidor. El control Multiview y el control View se
usan juntos. Multiview es el control principal para el control de visualización. Como el nombre
se define a sí mismo, el control Multiview se usa para controlar varios tipos de vistas.

Cada control de visualización administra un grupo de contenido y todos los controles de vista se
mantienen juntos en un control MultiView.

El control MultiView actúa como un contenedor externo para uno o varios controles View. Los
controles View, a su vez, pueden contener cualquier combinación de marcado y controles

Puede utilizar los controles MultiView y View para realizar las siguientes tareas:

- Proporcionar conjuntos de controles alternativos basados en la elección del usuario o en


otras condiciones. Por ejemplo, podría permitir a los usuarios hacer su selección en una
lista de suministros, cada uno de los cuales estaría configurado en un control View
diferente. A continuación, podría mostrar el control View que contiene la elección de
suministros del usuario. Puede utilizar los controles MultiView y View como alternativa
para no crear varios controles Panel.

- Crear un formulario de varias páginas. Los controles MultiView y View pueden tener un
comportamiento similar al del control Wizard. El control Wizard resulta especialmente
apropiado para crear formularios que los usuarios rellenan paso a paso. El control Wizard
también es compatible con otros elementos integrados de la interfaz de usuario, como un
encabezado y pie de página, con los botones Anterior y Siguiente, y con las plantillas.
Podría utilizar un control MultiView en lugar de un control Wizard si deseara crear una
presentación que cambiara en función de una condición (y no de forma secuencial) o si
no necesitara utilizar las características adicionales admitidas por el control Wizard.

Representar el contenido del control View

Si no se selecciona un control View, éste no se representa en la página. Sin embargo, las instancias
de todos los controles de servidor Web incluidos en los controles View se crean cada vez que se
representa la página, y sus valores se almacenan como parte del estado de vista de la página.

Ni el control MultiView ni los controles View individuales representan ningún otro marcado en
la página que el contenido del control View actual. Por ejemplo, los controles no representan un
elemento div del mismo modo que un control Panel. Sin embargo, tampoco admiten propiedades
de aspecto que se puedan aplicar en conjunto al control View actual, aunque puede asignar un
tema a los controles MultiView o View para que este tema se aplique a todos los controles
secundarios del control View actual.

Hacer referencia a controles

Cada control View admite una propiedad Controls que contiene una colección de los controles
incluidos en ese control View. Sin embargo, puede hacer referencia de manera individual a los
controles incluidos en los controles View en el código. Para obtener información detallada, vea
Obtener acceso a controles ASP.NET mediante programación.

Desplazamiento entre vistas

Puede desplazarse entre las vistas estableciendo la propiedad ActiveViewIndex del control
MultiView en el valor del índice del control View que se va a mostrar. El control MultiView
también es compatible con botones de desplazamiento, que puede agregar a cada control View.

Para crear botones de desplazamiento, puede agregar un control de botón (Button, LinkButton o
ImageButton) a cada control View. Puede establecer las propiedades CommandName y
CommandArgument de cada botón en valores reservados para hacer que el control MultiView se
desplace a otra vista. En la tabla siguiente se muestran los valores CommandName reservados y
los valores CommandArgument correspondientes.

Valor de CommandName Valor de CommandArgument

NextView (sin valor)

PrevView (sin valor)

SwitchViewByID Id. del control View al que cambia.

SwitchViewByIndex Número de índice del control View al que cambia.

Propiedades

Propiedades MultiView

Obtiene o establece el índice del activo View control


ActiveViewIndex dentro de un MultiView control.

AppRelativeTemplateSourceDirecto Obtiene o establece el directorio virtual relativa a la


ry aplicación de la Page o UserControl objeto que
contiene este control.(Heredado de Control).

ChildControlsCreated Obtiene un valor que indica si se crearon los controles


secundarios del control de servidor.(Heredado
de Control).

ClientID Obtiene el id. de control para marcado HTML que se


genera por ASP.NET.(Heredado de Control).

ClientIDMode Obtiene o establece el algoritmo que se usa para


generar el valor de la ClientID propiedad.(Heredado
de Control).
ClientIDSeparator Obtiene un valor de carácter que representa el carácter
separador utilizado en
el ClientID propiedad.(Heredado de Control).

Context Obtiene el HttpContext objeto asociado con el control


de servidor para la solicitud Web actual.(Heredado
de Control).

Controls Obtiene un ControlCollection objeto que representa


los controles secundarios de un control de servidor
especificado en la jerarquía de la interfaz de
usuario.(Heredado de Control).

DataItemContainer Obtiene una referencia al contenedor de nomenclatura


si implementa el contenedor de
nomenclatura IDataItemContainer.(Heredado
de Control).

DataKeysContainer Obtiene una referencia al contenedor de nomenclatura


si implementa el contenedor de
nomenclatura IDataKeysControl.(Heredado
de Control).

DesignMode Obtiene un valor que indica si se está utilizando un


control en una superficie de diseño.(Heredado
de Control).

EnableTheming Obtiene o establece un valor que indica si se aplican


temas a
la MultiView control.(Invalida Control.EnableThemi
ng).

EnableViewState Obtiene o establece un valor que indica si el control de


servidor conserva su estado de vista, así como el estado
de vista de los controles secundarios que contiene, al
cliente solicitante.(Heredado de Control).

IdSeparator Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Obtiene el carácter utilizado para separar los
identificadores de control.(Heredado de Control).

IsChildControlStateCleared Obtiene un valor que indica si los controles incluidos


en este control tienen estado de control.(Heredado
de Control).
IsTrackingViewState Obtiene un valor que indica si el control de servidor
está guardando los cambios en su estado de
vista.(Heredado de Control).

IsViewStateEnabled Obtiene un valor que indica si el estado de vista está


habilitado para este control.(Heredado de Control).

LoadViewStateByID Obtiene un valor que indica si el control participa en la


carga su estado de vista por ID en lugar de
índice.(Heredado de Control).

NamingContainer Obtiene una referencia al control de servidor de


nombres del contenedor, que crea un espacio de
nombres único para diferenciar los distintos controles
de servidor con el mismo Control.ID valor de
propiedad.(Heredado de Control).

Page Obtiene una referencia a la Page instancia que


contiene el control de servidor.(Heredado de Control).

Parent Obtiene una referencia al control principal del control


de servidor en la jerarquía de controles de
página.(Heredado de Control).

Site Obtiene información sobre el contenedor que hospeda


el control actual cuando se representa en una superficie
de diseño.(Heredado de Control).

SkinID Obtiene o establece la máscara que se aplica al


control.(Heredado de Control).

TemplateControl Obtiene o establece una referencia a la plantilla que


contiene este control.(Heredado de Control).

TemplateSourceDirectory Obtiene el directorio virtual de


la Page o UserControl que contiene el control de
servidor actual.(Heredado de Control).

UniqueID Obtiene el identificador único calificado


jerárquicamente para el control de servidor.(Heredado
de Control).

ValidateRequestMode Obtiene o establece un valor que indica si el control


comprueba la entrada del cliente desde el Explorador
de valores potencialmente peligrosos.(Heredado
de Control).
Views Obtiene la colección de View controla en
el MultiView control.

ViewState Obtiene un diccionario de información de estado que


permite guardar y restaurar el estado de vista de un
control de servidor a través de varias solicitudes de la
misma página.(Heredado de Control).

ViewStateIgnoresCase Obtiene un valor que indica si la StateBag objeto


distingue mayúsculas de minúsculas.(Heredado
de Control).

ViewStateMode Obtiene o establece el modo de estado de vista de este


control.(Heredado de Control).

Visible Obtiene o establece un valor que indica si un control


de servidor se representa como interfaz de usuario en
la página.(Heredado de Control).

https://msdn.microsoft.com/es-
es/library/system.web.ui.webcontrols.multiview_properties(v=vs.110).aspx

Métodos

Métodos MultiView

Se llama después de que se agrega un control secundario


AddedControl(Control, Int32) a la Controls colección de la Control objeto.(Heredado
de Control).

AddParsedSubObject(Object) Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Notifica a los MultiView control que se analizó
un elemento XML o HTML y agrega el elemento a
la ViewCollection colección de
la MultiView control.(Invalida Control.AddParsedSub
Object(Object)).

ApplyStyleSheetSkin(Page) Se aplica a las propiedades de estilo definidas en la hoja


de estilo de página para el control.(Heredado
de Control).

BeginRenderTracing(TextWriter, Comienza el seguimiento de tiempo de diseño de datos


Object) de representación.(Heredado de Control).
BuildProfileTree(String, Esta API admite la infraestructura producto y no está
Boolean) diseñada para usarse directamente desde el
código. Recopila información sobre el control de
servidor y la pasa a la Tracepropiedad que se mostrará
cuando el seguimiento está habilitado para la
página.(Heredado de Control).

ClearCachedClientID() Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Establece la caché ClientID valor
a null.(Heredado de Control).

ClearChildControlState() Elimina la información de estado de control para los


controles secundarios del control de servidor.(Heredado
de Control).

ClearChildState() Elimina la información de estado de vista y el estado de


control para los controles secundarios todos del control
de servidor.(Heredado de Control).

ClearChildViewState() Elimina la información de estado de vista para todo el


servidor controles secundarios del control.(Heredado
de Control).

ClearEffectiveClientIDMode() Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Establece el ClientIDMode propiedad de la
instancia actual del control y de todos los controles
secundarios a Inherit.(Heredado de Control).

CreateChildControls() Lo llama el marco de páginas ASP.NET para indicar a


los controles de servidor que usan la implementación
basada en composición que creen los controles
secundarios que contengan como forma de preparar la
devolución o representación de los datos.(Heredado
de Control).

CreateControlCollection() Crea un ControlCollection para contener los controles de


secundarios
el MultiView control.(Invalida Control.CreateControlC
ollection()).

DataBind() Enlaza un origen de datos al control de servidor invocado


y a todos sus controles secundarios.(Heredado
de Control).
DataBind(Boolean) Enlaza un origen de datos para el control de servidor
invocado y todos sus controles secundarios con una
opción para generar el DataBinding eventos.(Heredado
de Control).

DataBindChildren() Enlaza un origen de datos a los controles secundarios del


control de servidor.(Heredado de Control).

Dispose() Habilita un control de servidor realizar la limpieza final


antes de que se libere de la memoria.(Heredado
de Control).

EndRenderTracing(TextWriter, Finaliza el seguimiento de tiempo de diseño de datos de


Object) representación.(Heredado de Control).

EnsureChildControls() Determina si el control de servidor contiene controles


secundarios. Si no es así, crea controles
secundarios.(Heredado de Control).

EnsureID() Crea un identificador para los controles que no tienen un


identificador asignado.(Heredado de Control).

Equals(Object) Determina si el objeto especificado es igual al objeto


actual.(Heredado de Object).

Finalize() Permite que un objeto intente liberar recursos y realizar


otras operaciones de limpieza antes de que sea reclamado
por la recolección de elementos no utilizados.(Heredado
de Object).

FindControl(String) Busca el contenedor de nomenclatura actual para un


control de servidor con el
parámetro id parámetro.(Heredado de Control).

FindControl(String, Int32) Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Busca el contenedor de nomenclatura actual para
un control de servidor con el parámetro id y un entero
especificado en el pathOffsetparámetro, lo que ayuda en
la búsqueda. No se debe reemplazar esta versión de
la FindControl (método).(Heredado de Control).

Focus() Establece el foco en un control de entrada.(Heredado


de Control).
GetActiveView() Devuelve el activo View control dentro de
un MultiViewcontrol.

GetDesignModeState() Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Obtiene los datos de tiempo de diseño para un
control.(Heredado de Control).

GetHashCode() Sirve como la función hash predeterminada.(Heredado


de Object).

GetRouteUrl(Object) Obtiene la dirección URL que corresponde a un conjunto


de parámetros de ruta.(Heredado de Control).

GetRouteUrl(RouteValueDictiona Obtiene la dirección URL que corresponde a un conjunto


ry) de parámetros de ruta.(Heredado de Control).

GetRouteUrl(String, Object) Obtiene la dirección URL que corresponde a un conjunto


de parámetros de ruta y un nombre de ruta.(Heredado
de Control).

GetRouteUrl(String, Obtiene la dirección URL que corresponde a un conjunto


RouteValueDictionary) de parámetros de ruta y un nombre de ruta.(Heredado
de Control).

GetType() Obtiene el Type de la instancia actual.(Heredado


de Object).

GetUniqueIDRelativeTo(Control) Devuelve la parte fija de la UniqueID propiedad del


control especificado.(Heredado de Control).

HasControls() Determina si el control de servidor contiene todos los


controles secundarios.(Heredado de Control).

HasEvents() Devuelve un valor que indica si se registran eventos para


el control o los controles secundarios.(Heredado
de Control).

IsLiteralContent() Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Determina si el control de servidor alberga
únicamente contenido literal.(Heredado de Control).

LoadControlState(Object) Carga el estado actual de


la MultiView control.(Invalida Control.LoadControlSta
te(Object)).
LoadViewState(Object) Restaura la información de estado de vista de una
solicitud de página anterior guardada por
el SaveViewState (método).(Heredado de Control).

MapPathSecure(String) Recupera la ruta de acceso física que se asigna una ruta


de acceso virtual absoluta o relativa, a.(Heredado
de Control).

MemberwiseClone() Crea una copia superficial del Object actual.(Heredado


de Object).

OnActiveViewChanged(EventArg Genera el ActiveViewChanged eventos de


s) un MultiViewcontrol.

OnBubbleEvent(Object, Esta API admite la infraestructura producto y no está


EventArgs) diseñada para usarse directamente desde el
código. Determina si el evento para el MultiView el
control pasa a la jerarquía de controles de servidor de
interfaz de usuario de la
página.(Invalida Control.OnBubbleEvent(Object,
EventArgs)).

OnDataBinding(EventArgs) Genera el evento DataBinding.(Heredado de Control).

OnInit(EventArgs) Esta API admite la infraestructura producto y no está


diseñada para usarse directamente desde el
código. Genera el
evento Init.(Invalida Control.OnInit(EventArgs)).

OnLoad(EventArgs) Genera el evento Load.(Heredado de Control).

OnPreRender(EventArgs) Genera el evento PreRender.(Heredado de Control).

OnUnload(EventArgs) Genera el evento Unload.(Heredado de Control).

OpenFile(String) Obtiene un Stream utilizado para leer un


archivo.(Heredado de Control).

RaiseBubbleEvent(Object, Asigna los orígenes del evento y su información al


EventArgs) elemento primario del control.(Heredado de Control).

RemovedControl(Control) Llamado después de un View control se quita de


la Controlscolección de
un MultiView control.(Invalida Control.RemovedContr
ol(Control)).
Render(HtmlTextWriter) Escribe el MultiView contenido especificado del
control HtmlTextWriter objeto para su presentación en
el cliente.(Invalida Control.Render(HtmlTextWriter)).

RenderChildren(HtmlTextWriter) Envía el contenido de los elementos secundarios de un


control de servidor a un HtmlTextWriter objeto, que
escribe el contenido que se va a representar en el
cliente.(Heredado de Control).

RenderControl(HtmlTextWriter) Genera el contenido del control de servidor a


un HtmlTextWriter de objeto y almacena información de
seguimiento sobre el control si está habilitado el
seguimiento.(Heredado de Control).

RenderControl(HtmlTextWriter, Genera el contenido del control de servidor a


ControlAdapter) un HtmlTextWriter objeto usando una
URL ControlAdapter objeto.(Heredado de Control).

ResolveAdapter() Obtiene el adaptador de control responsable de


representar el control especificado.(Heredado
de Control).

ResolveClientUrl(String) Obtiene una dirección URL que se puede usar el


explorador.(Heredado de Control).

ResolveUrl(String) Convierte una dirección URL en una que se puede usar


en el cliente solicitante.(Heredado de Control).

SaveControlState() Guarda el estado actual de


la MultiView control.(Invalida Control.SaveControlStat
e()).

SaveViewState() Guarda los cambios realizados en el estado de vista del


control de servidor desde que la página volvió a
publicarse en el servidor.(Heredado de Control).

SetActiveView(View) Establece el View control a la vista activa dentro de


un MultiView control.

SetDesignModeState(IDictionary) Establece los datos en tiempo de diseño para un


control.(Heredado de Control).

SetRenderMethodDelegate(Rende Esta API admite la infraestructura producto y no está


rMethod) diseñada para usarse directamente desde el
código. Asigna un delegado de controlador de eventos
para representar el control de servidor y su contenido en
el control principal.(Heredado de Control).

SetTraceData(Object, Object) Conjuntos de datos de tiempo de diseño realiza un


seguimiento de procesamiento de datos, utilizando la
clave de datos de seguimiento y el valor de datos de
seguimiento de seguimiento.(Heredado de Control).

SetTraceData(Object, Object, Conjuntos de datos de tiempo de diseño realiza un


Object) seguimiento de procesamiento de datos, utilizando el
objeto de seguimiento, la clave de datos de seguimiento
y el valor de datos de seguimiento de traza.(Heredado
de Control).

ToString() Devuelve una cadena que representa el objeto


actual.(Heredado de Object).

TrackViewState() Hace el seguimiento de cambios de estado de vista para


el control de servidor para que puedan almacenarse en el
control de servidor StateBag objeto. Este objeto es
accesible a través de la
propiedad Control.ViewState.(Heredado de Control).

Eventos

Nombre Descripción

Se produce cuando el activo View control de


ActiveViewChanged un MultiViewcambian entre cada envío al servidor.

DataBinding Se produce cuando el control de servidor se enlaza a un origen de


datos.(Heredado de Control).

Disposed Se produce cuando un control de servidor se libera de la


memoria, que es la última fase del ciclo de vida del control de
servidor cuando se solicita una página ASP.NET.(Heredado
de Control).

Init Se produce cuando se inicializa el control de servidor, que es el


primer paso del ciclo de vida.(Heredado de Control).

Load Se produce cuando el control de servidor se carga en


el Pageobjeto.(Heredado de Control).
PreRender Se produce después de la Control es cargado pero antes de la
representación.(Heredado de Control).

Unload Se produce cuando el control de servidor se descarga de la


memoria.(Heredado de Control).

Sintaxis del control Multiview y View

El siguiente código está desarrollado en ASP.NET sin embargo nos muestra claramente la sintaxis
del multiview y view.

<asp: MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">


<asp:View ID="View1" runat="server">
View 1<br />
<br />
<asp:Button ID="Button1" runat="server"
CommandArgument="View2"
CommandName="SwitchViewByID"
Text="Go to View2" />
</asp:View>
<asp:View ID="View2" runat="server">
View 2<br />
<br /> Se declara el control
<asp:Button ID="Button2" runat="server" “contenedor” multiview, con
CommandArgument="View3" id=Multiview1.
CommandName="SwitchViewByID"
Text="Go to View 3" />
</asp:View> Se declara el View con
<asp:View ID="View3" runat="server"> id=view1.
View 3<br />
<br />
Se declara el View con
<asp:Button ID="Button3" runat="server"
CommandArgument="View1" id=view2.
CommandName="SwitchViewByID"
Text=Go to View 1" /> Se declara el View con
</asp:View> id=view3.
</asp:MultiView></div>

Bibliografía
https://msdn.microsoft.com/es-
es/library/system.web.ui.webcontrols.multiview_methods(v=vs.110).aspx