Contains a collection of WebPartDisplayMode objects. This class cannot be inherited.
Assembly: System.Web (in System.Web.dll)
Thetype exposes the following members.
|Capacity||Gets or sets the number of elements that the CollectionBase can contain. (Inherited from CollectionBase.)|
|Count||Gets the number of elements contained in the CollectionBase instance. This property cannot be overridden. (Inherited from CollectionBase.)|
|IsReadOnly||Gets a value indicating whether the collection is read-only.|
|Item(Int32)||Gets a specific member of the collection according to its index.|
|Item(String)||Gets a specific member of the collection according to a unique identifier.|
|Add||Adds a WebPartDisplayMode object to the collection.|
|Clear||Removes all objects from the CollectionBase instance. This method cannot be overridden. (Inherited from CollectionBase.)|
|Contains||Returns a value indicating whether a particular WebPartDisplayMode object exists in the collection.|
|CopyTo||Copies the collection to an array of WebPartDisplayMode objects.|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|GetEnumerator||Returns an enumerator that iterates through the CollectionBase instance. (Inherited from CollectionBase.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|IndexOf||Returns the position of a particular member of the collection.|
|Insert||Inserts a WebPartDisplayMode object into the collection at the specified index position.|
|RemoveAt||Removes the element at the specified index of the CollectionBase instance. This method is not overridable. (Inherited from CollectionBase.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
|ICollection.CopyTo||Copies the entire CollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array. (Inherited from CollectionBase.)|
|ICollection.IsSynchronized||Gets a value indicating whether access to the CollectionBase is synchronized (thread safe). (Inherited from CollectionBase.)|
|ICollection.SyncRoot||Gets an object that can be used to synchronize access to the CollectionBase. (Inherited from CollectionBase.)|
|IList.Add||Adds an object to the end of the CollectionBase. (Inherited from CollectionBase.)|
|IList.Contains||Determines whether the CollectionBase contains a specific element. (Inherited from CollectionBase.)|
|IList.IndexOf||Searches for the specified Object and returns the zero-based index of the first occurrence within the entire CollectionBase. (Inherited from CollectionBase.)|
|IList.Insert||Inserts an element into the CollectionBase at the specified index. (Inherited from CollectionBase.)|
|IList.IsFixedSize||Gets a value indicating whether the CollectionBase has a fixed size. (Inherited from CollectionBase.)|
|IList.IsReadOnly||Gets a value indicating whether the CollectionBase is read-only. (Inherited from CollectionBase.)|
|IList.Item||Gets or sets the element at the specified index. (Inherited from CollectionBase.)|
|IList.Remove||Removes the first occurrence of a specific object from the CollectionBase. (Inherited from CollectionBase.)|
A display mode is a special view of a Web page that appears when it is assigned as the current display mode on the WebPartManager.DisplayMode property. Display modes are used in the Web Parts control set to create page views in which users can carry out special tasks, such as editing controls, or rearranging the layout of a page. The WebPartManager control defines several display modes, including BrowseDisplayMode, DesignDisplayMode, EditDisplayMode, CatalogDisplayMode, and ConnectDisplayMode. The collection of display modes is referenced by the WebPartManager.DisplayModes property.
On any particular Web page that uses Web Parts controls, only certain display modes are available. The default browse mode and the design mode are nearly always available, but the other display modes are available only if their corresponding zone types are present on the page. For more information, see the WebPartDisplayMode class overview.
The WebPartManager control keeps track of the available display modes on a page with its SupportedDisplayModes property. This property references a object that contains all the supported display modes.
The class does not have an exposed constructor, so you cannot create your own new instance of it. If you create a custom WebPartDisplayMode object and want it to be part of the collection of supported display modes in the WebPartManager control, you must inherit from the WebPartManager class, override the CreateDisplayModes method, call the base method to create the collection, and then add any custom display modes to the collection by using its Add method.
The class has two public properties. The IsReadOnly property is a read-only property that indicates whether the collection is read-only. The overloaded Item property provides access to the members of the collection.
The class also has several methods. The Add method, already mentioned, enables you to add WebPartDisplayMode objects to the collection. The Contains method determines whether a particular display mode exists in the collection. The CopyTo method copies the collection to an array of objects. The IndexOf method returns the index of a particular display mode within the collection. Finally, the Insert method enables you to insert a display mode object at a particular index in the collection.
The following code example demonstrates working with the class. The key point is that you must inherit from the WebPartManager class and override the CreateDisplayModes method to add a custom WebPartDisplayMode object to the collection created by the WebPartManager control.
This code example has five parts:
A user control that enables you to change display modes on a Web Parts page.
A Web page that hosts the other controls.
A user control that resides in a WebPartZone zone on the Web page, and enables you to enter and display text in a label.
An explanation of how the example works.
The source code for the first part of the code example, the user control that lets you change display modes, comes from another topic. For this code example to work, you need to obtain the .ascx file for the user control from the Walkthrough: Changing Display Modes on a Web Parts Page topic, and place the file in the same folder as the .aspx page in this code example.
The second part of the example is the Web page. It contains two WebPartZone controls, both user controls, and the custom WebPartManager control. Notice the Register directives at the top of the page to reference the user controls and namespace for the compiled controls.
The third part of the example is the user control for entering and displaying text. Notice that it uses a MultiView control to create multiple views of the user interface (UI). One view is displayed with the button, the other without. Notice that the in the overridden OnPreRender method, the code checks to see whether the page is currently in the custom display mode, and if so, it displays the first view of the user control, which includes the button. If the page is not in the custom display mode (for example, if the page is in browse or design mode), the button is hidden.
This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.
The fourth part of the example is the source file for the two custom classes. Notice that the custom WebPartManager class overrides the CreateDisplayModes method, calls the base method to add all the default display modes, and then adds the custom display mode. The custom display mode class, InLineEditDisplayMode, simply inherits from WebPartDisplayMode, sets the name of the display mode in the constructor, and overrides a number of the base properties to establish the characteristics of the custom display.
For the code example to run, you must compile this source code. You can compile it explicitly and put the resulting assembly in your Web site's Bin folder or the global assembly cache. Alternatively, you can put the source code in your site's App_Code folder, where it will be dynamically compiled at run time. For a walkthrough that demonstrates how to compile, see Walkthrough: Developing and Using a Custom Web Server Control.
To run the code example, load the page in a browser. Notice that the page is currently in browse mode, and no button is visible. Using the Display Mode drop-down list control, change the page to Inline Edit Display mode, and notice that now the button is visible in the lower user control. Add some text, and click the button to update the control. Notice that the page display is returned to browse mode, the text you entered is now displayed, and the button is once again hidden because the page is not in the custom display mode.
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.