The MultiView control works as a container for a group of View controls. Web developer can use it to define a group of View controls, where each View control contains child controls. Web application can then render a specific View control to the client based on criteria such as user identity, user preferences, and information passed in a query-string parameter. Web developer can also use the MultiView control to create wizards where each View control contained in a MultiView control represents a different step or page in the wizard. This control can be used to develop multiple-screen applications for mobile devices. This control provides the same functionality as the ASP.NET mobile Form control in .NET Framework version 1.1.

Within a MultiView control only one View control at a time can be defined as the active view and the child controls that it contains are rendered to the client. The active view can be defined by using either the ActiveViewIndex property or the SetActiveView method. If the ActiveViewIndex property is empty, the MultiView control does not render any content to the client. If the active view is set to a View that does not exist within the MultiView control, an ArgumentOutOfRangeException is raised at run time. Setting the ActiveViewIndex property programmatically, or calling the SetActiveView method, allows the application to determine which View control to render to the client at run time based on criteria such as a user’s identity or preferences.

Web developers can allow users to navigate between View controls within a MultiView control, by adding a LinkButton or Button control to each View control. To take advantage of the MultiView control’s automatic updating of the currently active View, Web developer should set the CommandName property on the button or link button to the value of one of the following command-name fields that corresponds to the desired navigation behavior: PreviousViewCommandName, NextViewCommandName, SwitchViewByIDCommandName, or SwitchViewByIndexCommandName..

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

PropertyDescriptionSupported in .NET version
ActiveViewIndexReturns or sets the zero-based index of the active View control within a MultiView controls. Its default value is -1, indicating that no view is set as active2.0, 3.0, 3.5, 4.0
AdapterThis property gets the browser-specific adapter for the control.2.0, 3.0, 3.5, 4.0


Software developer can use this property to set or get the application-relative path to the page or user control that contains the current control.  If the web page is installed in the property will return “~/application1”.2.0, 3.0, 3.5, 4.0
BindingContainerSoftware developer can’t use this property directly from his/her code, because it supports the .NET Framework infrastructure.  The property contains a reference to the Control object which contains data-binding information for the current control.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ChildControlsCreatedGets a true value that indicates whether the server control’s child controls have been created.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ClientIDReturns the server control identifier generated by ASP.NET. The ClientID value is generated by concatenating the ID value of the control and the UniqueID value of its parent control. If the ID value of the control is not specified, an automatically generated value is used. Each part of the generated ID is separated by an underscore character (_).1.0,1.1, 2.0, 3.0, 3.5, 4.0
ClientIDSeparatorThe ClientID value is generated by concatenating the ID value of the control and the UniqueID value of its parent control. Each part of the generated ID property is separated by the ClientIDSeparator property value. The value always returns an underscore (_).1.0,1.1, 2.0, 3.0, 3.5, 4.0
ContextSoftware developer can use this property to access the HttpContext object for the current Web request. Using properties of the object software developer can access objects Application, Session, Request, Response, etc. which contain information about the current HTTP request. The object provides methods that allow him to get configuration information and to set or clear errors related to the request.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ControlsThis property allows software developer to access programmatically to the instance of the ControlCollection class for any server control. Using it he/she can add/remove controls to/from the collection or iterate through the server controls in the collection.1.0,1.1, 2.0, 3.0, 3.5, 4.0
DesignModeThis property returns true to indicate that the control is being used in the context of a designer. Software developer’s custom controls can use this property when design-time behavior is different than run-time behavior.2.0, 3.0, 3.5, 4.0
EnableThemingThis property overrides Control. EnableTheming.

The property indicates whether themes are enabled for a specified control. When the property’s value is true, the application’s theme directory is searched for control skins to apply. If for the particular control skin does not exist in the directory, skins are not applied. When the property’s value is false, the theme directory is not searched and the contents of the SkinID property are not used.

2.0, 3.0, 3.5, 4.0
EnableViewStateSoftware developer must enable view state for the server control setting its value to true if he/she wants to maintain its state across HTTP requests. Sometimes is better to set value of this property to false if for example Web application is loading a database request into a server control. In this case application performance will be improved.1.0,1.1, 2.0, 3.0, 3.5, 4.0
EventsThis read-only property returns a list of event handler delegates for the control. The type of this property is EventHadlerList, which uses a linear search algorithm to find entries in the list of delegates. When the list of delegates is large, finding entries with this property will be slow, because a linear search algorithm is inefficient when working with a large number of entries.1.0,1.1, 2.0, 3.0, 3.5, 4.0
HasChildViewStateSoftware developer can use this property to verify that any child controls of the server control are storing view-state information. Using it in this way he/she can avoid unnecessary calls to the ClearChildViewState method.1.0,1.1, 2.0, 3.0, 3.5, 4.0
IDWeb developers can set this property by declaring ID attribute in the opening tag of an ASP.NET server control. Another possible way to set it is programmatically. If this property is not specified for a server control, either declaratively or programmatically, Web developer can obtain a reference to the control through its parent control’s Controls property.1.0,1.1, 2.0, 3.0, 3.5, 4.0
IdSeparatorSoftware developer can’t use this property directly from his/her code, because it supports the .NET Framework infrastructure.   The character contained in this property ( by default $ ) is used to separate the control identifiers for child controls. The ID separator character is appended to the ID property.2.0, 3.0, 3.5, 4.0
IsChildControlStateClearedThis property has value true if children of this control do not use control state; otherwise, false.2.0, 3.0, 3.5, 4.0
IsTrackingViewStateThis property returns value true if the control is marked to save changes to its view state; otherwise, false.


1.0,1.1, 2.0, 3.0, 3.5, 4.0
IsViewStateEnabledThis property returns value true if view state is enabled for the control; otherwise false.  View state can be enabled at the page, container, or control level. When view state is disabled at the page or container level, view state is disabled for all controls contained by the page or container. The property indicates whether view state is enabled by pages, containers, or controls. In some cases it is possible values for the EnableViewState property and the IsViewStateEnabled property to be different. For example, if the Page containing the control has view state disabled, the EnableViewState property can be true while the IsViewStateEnabled property is false. Notes: Developers will set the EnableViewState property to indicate whether they are using view state with your control. Web developers can use this property in their code to determine whether view state is enabled for their control and all containers.2.0, 3.0, 3.5, 4.0
LoadViewStateByIDThis property returns value true if the control loads its view state by ID; otherwise, false. Its default value is false.2.0, 3.0, 3.5, 4.0
NamingContainerUsing this property software developer can get a reference to the server control’s naming container, which creates a unique namespace for differentiating between server controls with the same Control.ID property value.1.0,1.1, 2.0, 3.0, 3.5, 4.0
PageProvides a reference to the web page that contains this control as a System.Web.UI.Page object.  This property’s value reflects the name of the .aspx file that contains the server control.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ParentThis property provides a reference to the control that contains this control. If the control is placed on the page directly (rather than inside another control), it will return a reference to the page object.1.0,1.1, 2.0, 3.0, 3.5, 4.0
SiteUsing this property software developer can get information about the container that hosts the current control when rendered on a design surface.  A site binds a Component object to a Container object and enables communication between the two. It also provides a way for the container to manage its components.1.0,1.1, 2.0, 3.0, 3.5, 4.0
SkinIDThis property overrides Control.SkinID.

Web developer can get or set the skin to apply to the control.  Skins available to a control are contained in one or more skin files in a theme directory. The SkinID property specifies which of these skins to apply to the control. A skin is specific to a particular control i.e. software developer cannot share skin setting between controls of different types. If developer does not set the SkinID property, a control uses the default skin if one is defined.

2.0, 3.0, 3.5, 4.0
TemplateControlThis property is used to get or set a reference to the template that contains this control.2.0, 3.0, 3.5, 4.0
TemplateSourceDirectorySoftware developer can use this property to get the path to the page or user control that contains the current control.  If the web page is installed in the property will return “apps/application1”.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ToolTipThis property displays a text message when the end users hover the mouse above the control.1.0,1.1, 2.0, 3.0, 3.5, 4.0
UniqueIDThis property can be used to get the unique, hierarchically qualified identifier for the server control. This property differs from the ID property, in that the UniqueID property includes the identifier for the server control’s naming container. This identifier is generated automatically when a page request is processed. This property is particularly important in differentiating server controls contained within a data-binding server control that repeats as Repeater, DataList, DetailsView, FormView, and GridView Web server controls.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ViewsReturns the collection of View controls in the MultiView control. Its default value is a null reference (Nothing in VB.NET). Web developers use this property to programmatically manage the View controls in a MultiView control.2.0, 3.0, 3.5, 4.0
ViewStateWeb developers can use this property to get a dictionary of state information that allows them to save and restore the view state of a server control across multiple requests for the same page.1.0,1.1, 2.0, 3.0, 3.5, 4.0
ViewStateIgnoresCaseThis property returns true if StateBag object is insensitive; otherwise, false. Its default value is false.1.0,1.1, 2.0, 3.0, 3.5, 4.0
VisibleWeb developers can use this property to get or set a value that indicates whether a server control is rendered as UI on the page. If the control is visible on the page this property will has value true; otherwise false.1.0,1.1, 2.0, 3.0, 3.5, 4.0