Les contrôles MultiView et View vous permettent de diviser le contenu d'une page en différents groupes et d'afficher un seul groupe à la fois. Chaque contrôle de vue gère le contenu d'un groupe et tous les contrôles de vue sont inclus dans un contrôle MultiView.
Un contrôle multi-vues n'est responsable que de l'affichage d'une vue à la fois. L'affichage de la vue est appelé la vue active.
La syntaxe du champ MultiView est :
<asp:MultView ID= "MultiView1" runat= "server"></asp:MultiView>
La syntaxe du contrôle View est :
<asp:View ID= "View1" runat= "server"></asp:View>
Cependant, le contrôle ne peut exister seul. Si vous essayez de l'utiliser seul, vous obtiendrez une erreur. Il est toujours utilisé avec un contrôleur multi-vues :
<asp:MultView ID= "MultiView1" runat= "server"> <asp:View ID= "View1" runat= "server"> </asp:View></asp:MultiView>
Les vues et les contrôles multi-vues sont dérivés de la classe Control. et hérite de toutes ses propriétés, méthodes et événements. La propriété la plus importante d'un contrôle de vue est la propriété booléenne Visible, qui définit la visibilité d'une vue.
Les contrôles multi-vues présentent les fonctionnalités importantes suivantes :
propriété | décrire |
---|---|
Vues | Un contrôle de vue qui intègre plusieurs vues. |
ActiveViewIndex | Index de base zéro qui représente la vue active. Si aucune vue n'est active, la valeur de l'index est -1. |
Les propriétés CommandName des contrôles bouton liées à la navigation du contrôle MultiView sont associées à certains champs associés du contrôle MultiView.
Par exemple, si la valeur CommandName d’un contrôle bouton est liée à la navigation dans plusieurs vues, il naviguera automatiquement vers la vue suivante lorsque vous cliquerez sur le bouton.
Le tableau suivant montre les noms de commande par défaut pour les propriétés ci-dessus :
élément | décrire |
---|---|
NextViewCommandName | vue suivante |
PrécédentViewCommandName | Vue précédente |
SwitchViewByIDCommandName | SwitchViewByID |
SwitchViewByIndexCommandName | SwitchViewByIndex |
Les méthodes importantes de contrôle multi-points de vue sont :
méthode | décrire |
---|---|
DéfinirActiveView | Définir la vue active |
ObtenirActiveview | Récupérer la vue active |
Chaque fois que la vue change, la page est renvoyée sur le serveur et certains événements sont déclenchés. Certains événements importants sont :
événement | décrire |
---|---|
ActiveViewModifié | Déclenché lorsqu'une vue change |
Activer | Déclenché par la vue active |
Désactiver | Déclenché par une vue inactive |
En plus des propriétés, méthodes et événements mentionnés ci-dessus, les contrôles multi-vues héritent des membres des classes de contrôle et d'objet.
L’exemple de page comporte trois vues. La vue de navigation de chaque vue comporte deux boutons.
Le code du fichier de contenu est le suivant :
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="multiviewdemo._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <h2>MultiView and View Controls</h2> <asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList> <hr /> <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="2" onactiveviewchanged="MultiView1_ActiveViewChanged" > <asp:View ID="View1" runat="server"> <h3>This is view 1</h3> <br /> <asp:Button CommandName="NextView" ID="btnnext1" runat="server" Text = "Go To Next" /> <asp:Button CommandArgument="View3" CommandName="SwitchViewByID" ID="btnlast" runat="server" Text ="Go To Last" /> </asp:View> <asp:View ID="View2" runat="server"> <h3>This is view 2</h3> <asp:Button CommandName="NextView" ID="btnnext2" runat="server" Text = "Go To Next" /> <asp:Button CommandName="PrevView" ID="btnprevious2" runat="server" Text = "Go To Previous View" /> </asp:View> <asp:View ID="View3" runat="server"> <h3> This is view 3</h3> <br /> <asp:Calendar ID="Calender1" runat="server"></asp:Calendar> <br /> <asp:Button CommandArgument="0" CommandName="SwitchViewByIndex" ID="btnfirst" runat="server" Text = "Go To Next" /> <asp:Button CommandName="PrevView" ID="btnprevious" runat="server" Text = "Go To Previous View" /> </asp:View> </asp:MultiView> </div> </form> </body></html>
Notez ce qui suit :
MultiView.ActiveViewIndex détermine quelles vues seront affichées. C'est la seule vue affichée sur la page. La valeur par défaut d'ActiveViewIndex lorsqu'aucune vue n'est affichée est -1. Étant donné qu'ActiveViewIndex est défini sur 2 dans l'exemple, il affiche la troisième vue lors de son exécution.