Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

MultiView-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

Stellt ein Steuerelement dar, das als Container für eine Gruppe von View-Steuerelementen fungiert.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public class MultiView : Control
public class MultiView extends Control
public class MultiView extends Control

Das MultiView-Steuerelement ist ein Container für eine Gruppe von View-Steuerelementen. Es ermöglicht Ihnen, eine Gruppe von View-Steuerelementen zu definieren, wobei jedes View-Steuerelement untergeordnete Steuerelemente enthält. Die Anwendung kann dann auf der Grundlage von in einem Abfragezeichenfolgenparameter übergebenen Kriterien wie Benutzeridentität, Benutzereinstellungen und Informationen ein bestimmtes View-Steuerelement für den Client darstellen. Sie können auch mithilfe des MultiView-Steuerelements Assistenten erstellen. In diesem Szenario stellt jedes in einem MultiView-Steuerelement enthaltene View-Steuerelement einen anderen Schritt bzw. eine andere Seite im Assistenten dar. Sie können dieses Steuerelement auch verwenden, um Anwendungen mit mehreren Bildschirmen für mobile Geräte zu entwickeln. Dieses Steuerelement stellt dieselben Funktionen bereit wie das mobile ASP.NET-Form-Steuerelement in .NET Framework, Version 1.1.

Es kann jeweils nur ein View-Steuerelement als aktive Ansicht innerhalb eines MultiView-Steuerelements definiert werden. Wenn ein View-Steuerelement als aktive Ansicht definiert ist, werden die darin enthaltenen untergeordneten Steuerelemente für den Client dargestellt. Sie können die aktive Ansicht entweder mithilfe der ActiveViewIndex-Eigenschaft oder mithilfe der SetActiveView-Methode definieren. Wenn die ActiveViewIndex-Eigenschaft leer ist, stellt das MultiView-Steuerelement keine Inhalte für den Client dar. Wenn die aktive Ansicht auf eine View festgelegt ist, die im MultiView-Steuerelement nicht vorhanden ist, wird zur Laufzeit eine ArgumentOutOfRangeException ausgelöst.

Sie können die aktive Ansicht deklarativ oder programmgesteuert definieren. Wenn die ActiveViewIndex-Eigenschaft beim Definieren des MultiView-Steuerelements deklarativ festgelegt wird, wird dadurch das als aktive Ansicht festgelegte View-Steuerelement angewiesen, die Wiedergabe beim ersten Aufruf des MultiView-Steuerelements für den Client auszuführen. Im folgenden Codebeispiel wird veranschaulicht, wie die ActiveViewIndex-Eigenschaft deklarativ festgelegt wird.

<asp:MultiView id="MultiView1" ActiveViewIndex=0 runat="Server"> 

Das programmgesteuerte Festlegen der ActiveViewIndex-Eigenschaft oder das Aufrufen der SetActiveView-Methode ermöglicht es der Anwendung, in Abhängigkeit von der Benutzeridentität und den Benutzereinstellungen zu bestimmen, welches View-Steuerelement zur Laufzeit für den Client dargestellt werden soll.

Um es Benutzern zu ermöglichen, innerhalb eines MultiView-Steuerelements zwischen View-Steuerelementen zu navigieren, können Sie jedem View-Steuerelement ein LinkButton-Steuerelement oder ein Button-Steuerelement hinzufügen. Um für das MultiView-Steuerelement den Vorteil der automatischen Aktualisierung der derzeitig aktiven View nutzen zu können, legen Sie die CommandName-Eigenschaft der Schaltfläche oder Verknüpfungsschaltfläche auf den Wert eines der folgenden Befehlsnamenfelder fest, die dem gewünschten Navigationsverhalten entsprechen: PreviousViewCommandName, NextViewCommandName, SwitchViewByIDCommandName oder SwitchViewByIndexCommandName.

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe eines MultiView-Steuerelements eine einfache Umfrage erstellt wird. Jedes View-Steuerelement stellt eine separate Frage der Umfrage dar. Wenn der Benutzer auf einer beliebigen Seite auf die Schaltfläche Zurück klickt, wird die ActiveViewIndex-Eigenschaft dekrementiert, um zurück zum vorherigen View-Steuerelement zu navigieren. Wenn der Benutzer auf einer beliebigen Seite auf die Schaltfläche Weiter klickt, wird die ActiveViewIndex-Eigenschaft inkrementiert, um zum nächsten View-Steuerelement zu navigieren.

HinweisHinweis

In den folgenden Codebeispielen wird das Einzeldatei-Codemodell verwendet. Das Beispiel funktioniert möglicherweise nicht, wenn es direkt in eine CodeBehind-Datei kopiert wird. Dieses Codebeispiel muss in eine leere Textdatei mit einer ASPX-Erweiterung kopiert werden. Weitere Informationen über das Web Forms-Codemodell finden Sie unter Codemodell für ASP.NET-Webseiten .

<%@ Page Language="C#" %>

<html>
<head>
  <script runat="server">

  protected void NextButton_Command(object sender, EventArgs e)
  {
    // Determine which button was clicked
    // and set the ActiveViewIndex property to
    // the view selected by the user.
    if (DevPollMultiView.ActiveViewIndex > -1 & DevPollMultiView.ActiveViewIndex < 3)
    {
      // Increment the ActiveViewIndex property 
      // by one to advance to the next view.
      DevPollMultiView.ActiveViewIndex += 1;
    }
    else if (DevPollMultiView.ActiveViewIndex == 3)
    {
      // This is the final view.
      // The user wants to save the survey results.
      // Insert code here to save survey results.
      // Disable the navigation buttons.
      Page4Save.Enabled = false;
      Page4Restart.Enabled = false;
    }
    else
    {
      throw new Exception("An error occurred.");
    }
  }

  protected void BackButton_Command(object sender, EventArgs e)
  {
    if (DevPollMultiView.ActiveViewIndex > 0 & DevPollMultiView.ActiveViewIndex <= 2)
    {
      // Decrement the ActiveViewIndex property
      // by one to return to the previous view.
      DevPollMultiView.ActiveViewIndex -= 1;
    }
    else if (DevPollMultiView.ActiveViewIndex == 3)
    {
      // This is the final view.
      // The user wants to restart the survey.
      // Return to the first view.
      DevPollMultiView.ActiveViewIndex = 0;
    }
    else
    {
      throw new Exception("An error occurred.");
    }
  }

  </script>

</head>
<body>
    <form ID="Form1" runat="Server">
        
        <h3>MultiView ActiveViewIndex Example</h3>
        
        <asp:Panel id="Page1ViewPanel" 
            Width="330px" 
            Height="150px"
            HorizontalAlign =Left
            Font-size="12" 
            BackColor="#C0C0FF" 
            BorderColor="#404040"
            BorderStyle="Double"                     
            runat="Server">  

            <asp:MultiView id="DevPollMultiView"
                ActiveViewIndex=0
                runat="Server">

                <asp:View id="Page1" 
                    runat="Server">   

                    <asp:Label id="Page1Label" 
                        Font-bold="true"                         
                        Text="What kind of applications do you develop?"
                        runat="Server">
                    </asp:Label><br><br>

                    <asp:RadioButton id="Page1Radio1"
                         Text="Web Applications" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="server" >
                    </asp:RadioButton><br>

                    <asp:RadioButton id="Page1Radio2"
                         Text="Windows Forms Applications" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="server" >
                     </asp:RadioButton><br><br><br>                                       
                     
                    <asp:Button id="Page1Next"
                        Text = "Next"
                        OnClick="NextButton_Command"
                        Height="25"
                        Width="70"
                        runat= "Server">
                    </asp:Button>     
                          
                </asp:View>

                <asp:View id="Page2" 
                    runat="Server">

                    <asp:Label id="Page2Label" 
                        Font-bold="true"                        
                        Text="How long have you been a developer?"
                        runat="Server">                    
                    </asp:Label><br><br>

                    <asp:RadioButton id="Page2Radio1"
                         Text="Less than five years" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="Server">
                     </asp:RadioButton><br>

                    <asp:RadioButton id="Page2Radio2"
                         Text="More than five years" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="Server">
                     </asp:RadioButton><br><br><br>

                    <asp:Button id="Page2Back"
                        Text = "Previous"
                        OnClick="BackButton_Command"
                        Height="25"
                        Width="70"
                        runat= "Server">
                    </asp:Button> 

                    <asp:Button id="Page2Next"
                        Text = "Next"
                        OnClick="NextButton_Command"
                        Height="25"
                        Width="70"
                        runat="Server">
                    </asp:Button> 
                
                </asp:View>

                <asp:View id="Page3" 
                    runat="Server">

                    <asp:Label id="Page3Label1" 
                        Font-bold="true"                        
                        Text= "What is your primary programming language?"                        
                        runat="Server">                    
                    </asp:Label><br><br>

                    <asp:RadioButton id="Page3Radio1"
                         Text="Visual Basic .NET" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="Server">
                     </asp:RadioButton><br>

                    <asp:RadioButton id="Page3Radio2"
                         Text="C#" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="Server">
                     </asp:RadioButton><br>

                    <asp:RadioButton id="Page3Radio3"
                         Text="C++" 
                         Checked="False" 
                         GroupName="RadioGroup1" 
                         runat="Server">
                     </asp:RadioButton><br><br>

                     <asp:Button id="Page3Back"
                        Text = "Previous"
                        OnClick="BackButton_Command"
                        Height="25"
                        Width="70"
                        runat="Server">
                    </asp:Button> 

                    <asp:Button id="Page3Next"
                        Text = "Next"
                        OnClick="NextButton_Command"
                        Height="25"
                        Width="70"
                        runat="Server">
                    </asp:Button><br>
                    
                </asp:View>     
            
                <asp:View id="Page4"
                    runat="Server">
                    
                    <asp:Label id="Label1"
                        Font-bold="true"                                           
                        Text = "Thank you for taking the survey."
                        runat="Server">
                    </asp:Label>
                    
                    <br><br><br><br><br><br>              
                   
                    <asp:Button id="Page4Save"
                        Text = "Save Responses"
                        OnClick="NextButton_Command"
                        Height="25"
                        Width="110"
                        runat="Server">
                    </asp:Button>
                
                    <asp:Button id="Page4Restart"
                        Text = "Retake Survey"
                        OnClick="BackButton_Command"
                        Height="25"
                        Width="110"
                        runat= "Server">
                    </asp:Button>                    
                    
                </asp:View>  
       
            </asp:MultiView>
        
        </asp:Panel> 

    </form>
</body>
</html>

Das folgende Codebeispiel veranschaulicht, wie ein grundlegendes MultiView-Steuerelement erstellt wird, das drei View-Steuerelemente enthält. Die vom Benutzer aus dem Listenfeld ausgewählte Ansicht wird als aktive Ansicht festgelegt und für den Benutzer angezeigt. Ein ausführlicheres Beispiel zum MultiView-Steuerelement finden Sie in den anderen Codebeispielen in diesem Thema.

<%@ Page Language="VB" %>

<html>
<head>
    <script runat="server">

        Sub Index_Changed(ByVal Sender As Object, ByVal e As EventArgs)
            ' Set the active view to
            ' the view selected by the user.
            Dim text As String = ViewListBox.SelectedItem.Text
            Select Case (text)
                Case "View1"
                    MultiView1.SetActiveView(View1)
                Case "View2"
                    MultiView1.SetActiveView(View2)
                Case "View3"
                    MultiView1.SetActiveView(View3)
                Case Else
                    Throw New Exception("You did not select a valid view.")
            End Select

        End Sub

    </script>
</head>
<body>
    <form ID="Form1" runat="server">
        
        <h3>MultiView Class Example</h3>
        
        <h4>Select a View to display in a MultiView control:</h4>

        <asp:ListBox id="ViewListBox" 
	        Rows="1"
	        SelectionMode="Single"
	        AutoPostBack="True"
	        OnselectedIndexChanged="Index_Changed"
	        runat="Server">			 
		        <asp:ListItem Value=0>View1</asp:ListItem>
		        <asp:ListItem Value=1>View2</asp:ListItem>
		        <asp:ListItem Value=2>View3</asp:ListItem>
	    </asp:ListBox><br><br>
       
        <hr>

        <asp:MultiView id="MultiView1"
            runat="Server">

            <asp:View id="View1" 
                runat="Server">              
                    <asp:Label id="View1Label" 
                        Font-bold="true"
                        Font-size="14" 
                        Text="This is the content for View1."
                        runat="Server">
                    </asp:Label>               
            </asp:View>
            
            <asp:View id="View2" 
                runat="Server">              
                    <asp:Label id="View2Label" 
                        Font-bold="true"
                        Font-size="14" 
                        Text="This is the content for View2."
                        runat="Server">
                    </asp:Label>               
            </asp:View>
            
            <asp:View id="View3" 
                runat="Server">              
                    <asp:Label id="View3Label" 
                        Font-bold="true"
                        Font-size="14" 
                        Text="This is the content for View3."
                        runat="Server">
                    </asp:Label>               
            </asp:View>

        </asp:MultiView>

    </form>
</body>
</html>

Das folgende Codebeispiel veranschaulicht, wie ein MultiView-Steuerelement erstellt wird, das drei View-Steuerelemente enthält. Ein View-Steuerelement verfügt über keine Stileigenschaften. Deshalb enthält jedes View-Steuerelement ein Panel-Steuerelement, mit dem Stile für das View-Steuerelement festgelegt werden können. Beim erstmaligen Laden der Seite wird die DefaultView mithilfe der SetActiveView-Methode als aktive Ansicht festgelegt. Jedes View-Steuerelement enthält Linkschaltflächen, mit denen der Benutzer zu anderen Ansichten navigieren kann.

<%@ Page Language="VB" %>

<html>
<head>
    <script runat="server">

        Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            ' The first time the page loads,
            ' render the DefaultView.
            If Not IsPostBack Then
                ' Set DefaultView as the active view.
                MultiView1.SetActiveView(DefaultView)
            End If

        End Sub

        Sub LinkButton_Command(sender As Object, e As System.Web.UI.WebControls.CommandEventArgs)
            ' Determine which link button was clicked
            ' and set the active view to
            ' the view selected by the user.
            Select Case (e.CommandArgument)
                Case "DefaultView"
                    MultiView1.SetActiveView(DefaultView)
                Case "News"
                    MultiView1.SetActiveView(NewsView)
                Case "Shopping"
                    MultiView1.SetActiveView(ShoppingView)
                Case Else
                    Throw New Exception("You did not select a valid list item.")

            End Select

        End Sub

</script>

</html>
<body>
    <form ID="Form1" runat="server">
        
        <h3>MultiView Class Example</h3>

        <asp:MultiView id="MultiView1"
            runat="Server">

            <asp:View id="DefaultView" 
                runat="Server">                

                <asp:Panel id="DefaultViewPanel" 
                    Width="330px" 
                    BackColor="#C0C0FF" 
                    BorderColor="#404040"
                    BorderStyle="Double"
                    runat="Server">  

                    <asp:Label id="DefaultLabel1" 
                        Font-bold="true"
                        Font-size="14" 
                        Text="The Default View"
                        runat="Server">
                    </asp:Label>                  

                    <asp:BulletedList id="DefaultBulletedList1" 
                        BulletStyle="Disc" 
                        DisplayMode="Hyperlink"
                        Target="_blank"
                        runat="Server">
                            <asp:ListItem Value="http://www.microsoft.com">Today's Weather</asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Today's Stock Quotes</asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Today's News Headlines</asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Today's Featured Shopping</asp:ListItem>
                    </asp:BulletedList>

                    <hr>

                    <asp:Label id="DefaultLabel2"                      
                        Font-size="12" 
                        Text="Click a link to display a different view:"
                        runat="Server">
                    </asp:Label><br>
                
                    <asp:LinkButton id="Default_NewsLink" 
                        Text="Go to News View" 
                        OnCommand="LinkButton_Command"
                        CommandArgument="News" 
                        CommandName="Link"
			Width="150px"
                        runat="Server">
                    </asp:LinkButton>

                    <asp:LinkButton id="Default_ShoppingLink"
                        Text="Go to Shopping View" 
                        OnCommand="LinkButton_Command"
                        CommandArgument="Shopping" 
                        CommandName="Link"
			Width="150px"
                        runat="server">
                    </asp:LinkButton><br><br>

                </asp:Panel>

            </asp:View>

            <asp:View id="NewsView" 
                runat="Server">

                <asp:Panel id="NewsPanel1" 
                    Width="330px" 
                    BackColor="#C0FFC0" 
                    BorderColor="#404040"
                    BorderStyle="Double"
                    runat="Server">

                    <asp:Label id="NewsLabel1" 
                        Font-bold="true"
                        Font-size="14"
                        Text="The News View"
                        runat="Server">                    
                    </asp:Label>

                    <asp:BulletedList id="NewsBulletedlist1" 
                        BulletStyle="Disc" 
                        DisplayMode="Hyperlink"
                        Target="_blank"
                        runat="Server">
                            <asp:ListItem Value="http://www.microsoft.com">Today's International Headlines</asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Today's National Headlines</asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Today's Local News</asp:ListItem>
                    </asp:BulletedList>

		            <hr>

                    <asp:Label id="NewsLabel2"                      
                        Font-size="12" 
                        Text="Click a link to display a different view:"
                        runat="Server">
                    </asp:Label><br>

                    <asp:LinkButton id="News_DefaultLink" 
                        Text="Go to the Default View" 
                        OnCommand="LinkButton_Command"
                        CommandArgument="DefaultView" 
                        CommandName="Link"
                        Width="150px"
                        runat="Server">
                    </asp:LinkButton>

                    <asp:LinkButton id="News_ShoppingLink" 
                        Text="Go to Shopping View" 
                        OnCommand="LinkButton_Command"
                        CommandArgument="Shopping" 
                        CommandName="Link"
                        Width="150px"
                        runat="Server">
                    </asp:LinkButton><br><br>

                </asp:Panel>

            </asp:View>

            <asp:View id="ShoppingView" 
                runat="Server">

                <asp:Panel id="ShoppingPanel1" 
                    Width="330px" 
                    BackColor="#FFFFC0" 
                    BorderColor="#404040"
                    BorderStyle="Double"
                    runat="Server">

                    <asp:Label id="ShoppingLabel1" 
                        Font-Bold="true"
                        Font-size="14"                         
                        Text="The Shopping View"
                        runat="Server">
                    </asp:Label>

                    <asp:BulletedList id="ShoppingBulletedlist1" 
                        BulletStyle="Disc" 
                        DisplayMode="Hyperlink"
                        Target="_blank"
                        runat="Server">
                            <asp:ListItem Value="http://www.microsoft.com">Shop for Home and Garden </asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Shop for Women's Fashions</asp:ListItem>
                            <asp:ListItem Value="http://www.microsoft.com">Shop for Men's Fashions</asp:ListItem>
                    </asp:BulletedList>

                    <hr>

                    <asp:Label id="ShoppingLabel2" 
                        Font-size="12" 
                        Text="Click a link to display a different view:"
                        runat="Server">
                    </asp:Label><br>

                    <asp:LinkButton id="Shopping_DefaultLink" 
                        Text="Go to the Default View" 
                        OnCommand="LinkButton_Command"
                        CommandArgument="DefaultView" 
                        CommandName="Link"
                        Width="150px"
                        runat="Server">
                    </asp:LinkButton>

                    <asp:LinkButton id="Shopping_NewsLink"
                        Text="Go to News View" 
                        OnCommand="LinkButton_Command"
                        CommandArgument="News" 
                        CommandName="Link"
                        Width="150px"
                        runat="Server">
                    </asp:LinkButton><br><br>

                </asp:Panel>

            </asp:View>

        </asp:MultiView>

    </form>
</body>
</html>

  • AspNetHostingPermission  Zum Ausführen des MultiView-Steuerelements in einer Hostumgebung. Zugeordnete Enumeration: Minimal

System.Object
   System.Web.UI.Control
    System.Web.UI.WebControls.MultiView

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen: