Multiview en ASP.Net

Utilizado para cargar controles por vista sin cambiar de página, las multiview en ASP.Net hace esta tarea utilizando vistas.

Un control multivista puede contener varios controles View (vistas), cambiando cada vista desde el servidor con C#.

Utilicemos este control en un proyecto ASP.Net WebForm con C# desde visual studio 2017.

Agregar control Multiview

Abrimos o creamos un proyecto ASP WebForm en visual studio, en una página aspx agregamos el control multiview.

<asp:MultiView ID="mtvContenedor" runat="server">
</asp:MultiView>
  • Agregamos un ID único.
  • Con runat permitimos que sea visible desde el servidor para su manipulación con C#.

El control forzosamente te solicitara que agregues controles view, ya que no se agrega ninguno por defecto.

Coloquemos algunas vistas con el código siguiente.

<asp:MultiView ID="mtvContenedor" runat="server">
    <asp:View ID="vVista1" runat="server"><label>Vista 1</label></asp:View>
    <asp:View ID="vVista2" runat="server"><label>Vista 2</label></asp:View>
    <asp:View ID="vVista3" runat="server"><label>Vista 3</label></asp:View>
</asp:MultiView>
  • Agregue 3 vistas con View, asignamos un ID y el runat.
  • Además, agregue un label a cada vista para diferenciar en tiempo de ejecución.

Internamente las vistas se enumeran en el mismo orden que un array, la numeración comienza en 0.

Por lo tanto, la declaración de vistas anterior va del 0 al 2, debes tener esto claro al trabajar desde el servidor.

Podría interesarte Que es el PostBack en ASP.Net  

Controlar Multiview desde C#

Establecer la vista activa del control multivista mediante la propiedad de ActiveViewIndex.

mtvContenedor.ActiveViewIndex = 0;
  • Hacemos llamada al control mediante el ID.
  • Llamamos a la propiedad ActiveViewIndex.
  • La propiedad recibe un valor entero, por lo tanto, le indicamos que muestre la vista número 0.

Intercambiando el 0 por el numero de la vista que necesitamos podemos ver los resultados siguientes.

Multiview en ASP .Net

Si estas utilizando un multivista y no defines la vista por defecto al cargar la página, se carga la página sin contenido (blanco).

Con la misma propiedad ActiveViewIndex podemos obtener el valor de la vista activa, utiliza el siguiente código.

int valorVista = mtvContenedor.ActiveViewIndex;

El valor obtenido es un entero, por eso se asigna a una variable de este tipo.

Obtener valor de View

Este control es muy útil para visualizar diferentes formularios en la misma página, utilizando UpdatePanel mejora su funcionamiento.

Podría interesarte Evitar que los ID cambien en ASP.Net  

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *