Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Los controles de servidor Web MultiView y View actúan como contenedores para otros controles y el marcado, y proporcionan un medio para mostrar conjuntos alternativos de controles y marcado. Los controles MultiView y View se han diseñado principalmente para que se utilicen con exploradores en dispositivos móviles, pero son compatibles con cualquier página ASP.NET.
Para agregar un control de servidor Web MultiView a una página de formularios Web Forms
Desde la ficha Estándar del cuadro de herramientas, arrastre un control MultiView a la página.
Desde la ficha Estándar del cuadro de herramientas, arrastre un control View al control MultiView.
Escriba el texto estático que desee agregar en el control View. Para agregar controles al control View, arrástrelos desde el cuadro de herramientas hasta el control View para crear el diseño que desee.
Repita los pasos 2 y 3 para cada control View que desee crear.
Establezca la propiedad ActiveViewIndex del control MultiView en el valor de índice del control View que se va a mostrar. Si no desea mostrar ningún control View, establezca la propiedad en -1.
Agregue el código para definir la propiedad ActiveViewIndex mediante programación y especificar así qué control View se va a mostrar.
En el ejemplo siguiente se muestra cómo funciona un control MultiView. La página contiene dos controles View. El usuario hace clic en un control RadioButton y, en el controlador de eventos CheckedChanged del botón, el código muestra el control View apropiado al establecer la propiedad ActiveViewIndex. Cuando el usuario hace clic en el botón Buscar, el código obtiene el valor del control TextBox en el control View apropiado.
Nota de seguridad:En este ejemplo hay un cuadro de texto que acepta datos del usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, las páginas Web ASP.NET validan los datos escritos por el usuario para comprobar que no incluyen secuencias de comandos ni elementos HTML. Para obtener más información, vea Información general sobre los ataques mediante secuencias de comandos.
<%@ Page Language="VB" %> <script > Protected Enum SearchType As Integer NotSet = -1 Products = 0 Category = 1 End Enum Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) If MultiView1.ActiveViewIndex > -1 Then Dim searchTerm As String = "" Select Case MultiView1.ActiveViewIndex Case SearchType.Products DoSearch(textProductName.Text, _ MultiView1.ActiveViewIndex) Case SearchType.Category DoSearch(textCategory.Text, _ MultiView1.ActiveViewIndex) Case SearchType.NotSet End Select End If End Sub Protected Sub DoSearch(ByVal searchTerm As String, _ ByVal type As SearchType) ' Code here to perform a search. End Sub Protected Sub radioButton_CheckedChanged(ByVal sender As _ Object, ByVal e As System.EventArgs) If radioProduct.Checked Then MultiView1.ActiveViewIndex = SearchType.Products ElseIf radioCategory.Checked Then MultiView1.ActiveViewIndex = SearchType.Category End If End Sub </script> <html> <head ></head> <body> <form id="form1" > <div> Search by product or by category? <br /> <asp:RadioButton ID="radioProduct" autopostback="true" GroupName="SearchType" Text="Product" OnCheckedChanged="radioButton_CheckedChanged" /> <asp:RadioButton ID="radioCategory" autopostback="true" GroupName="SearchType" Text="Category" OnCheckedChanged="radioButton_CheckedChanged" /> <br /> <br /> <asp:MultiView ID="MultiView1" > <asp:View ID="viewProductSearch" > Enter product name: <asp:TextBox ID="textProductName" ></asp:TextBox> </asp:View> <asp:View ID="viewCategorySearch" > Enter category: <asp:TextBox ID="textCategory" ></asp:TextBox> </asp:View> </asp:MultiView> <br /> <br /> <asp:Button ID="btnSearch" OnClick="Button1_Click" Text="Search" /> </div> </form> </body> </html><%@ Page Language="C#" %> <script > public enum SearchType { NotSet = -1, Products = 0, Category = 1 } protected void Button1_Click(Object sender, System.EventArgs e) { if(MultiView1.ActiveViewIndex > -1) { String searchTerm = ""; SearchType mSearchType = (SearchType) MultiView1.ActiveViewIndex; switch(mSearchType) { case SearchType.Products: DoSearch(textProductName.Text, mSearchType); break; case SearchType.Category: DoSearch(textCategory.Text, mSearchType); break; case SearchType.NotSet: break; } } } protected void DoSearch(String searchTerm, SearchType type) { // Code here to perform a search. } protected void radioButton_CheckedChanged(Object sender, System.EventArgs e) { if(radioProduct.Checked) { MultiView1.ActiveViewIndex = (int) SearchType.Products; } else if(radioCategory.Checked) { MultiView1.ActiveViewIndex = (int) SearchType.Category; } } </script> <html> <head id="Head1" ></head> <body> <form id="form1" > <div> Search by product or by category? <br /> <asp:RadioButton ID="radioProduct" autopostback="true" GroupName="SearchType" Text="Product" OnCheckedChanged="radioButton_CheckedChanged" /> <asp:RadioButton ID="radioCategory" autopostback="true" GroupName="SearchType" Text="Category" OnCheckedChanged="radioButton_CheckedChanged" /> <br /> <br /> <asp:MultiView ID="MultiView1" > <asp:View ID="viewProductSearch" > Enter product name: <asp:TextBox ID="textProductName" > </asp:TextBox> </asp:View> <asp:View ID="viewCategorySearch" > Enter category: <asp:TextBox ID="textCategory" > </asp:TextBox> </asp:View> </asp:MultiView> <br /> <br /> <asp:Button ID="btnSearch" OnClick="Button1_Click" Text="Search" /> </div> </form> </body> </html>
Vea también
Conceptos
Información general sobre MultiView y View (Controles de servidor Web)