WebPartZoneBase.AllowLayoutChange Property

Definition

Gets or sets a value that indicates whether the layout of WebPart controls can be changed within a zone.

public:
 virtual property bool AllowLayoutChange { bool get(); void set(bool value); };
[System.Web.UI.Themeable(false)]
public virtual bool AllowLayoutChange { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.AllowLayoutChange : bool with get, set
Public Overridable Property AllowLayoutChange As Boolean

Property Value

true if the layout can be changed; otherwise, false. The default is true.

Attributes

Examples

The following code example demonstrates the declarative use of the AllowLayoutChange property on a WebPartZone control. For the full code example, including the code-behind source file and the .aspx page that contains the zone in this code, see the WebPartZoneBase class overview.

Notice that the AllowLayoutChange property is set to true, which is the default. If you change the value to false, after you load the page into a browser and switch the page into design display mode, you will not be able to drag controls within or into the WebPartZone2 zone.

<asp:WebPartZone 
  ID="WebPartZone2"
  Runat="server" 
  DragHighlightColor="#00ff00"
  AllowLayoutChange="true"
  EmptyZoneText="Add WebParts to this empty Zone."
  BorderWidth="2"
  BorderColor="DarkBlue"
  BorderStyle="Dashed" 
  MenuLabelText="Verbs Menu" 
  MenuPopupImageUrl="label.gif" >
  <VerbStyle Font-Italic="true" />
  <MenuLabelStyle BackColor="Lime" BorderWidth="1"  />
  <MenuLabelHoverStyle Font-Bold="true" />
  <MenuVerbHoverStyle BackColor="LightGrey" />
  <MenuVerbStyle Font-Italic="true" /> 
  <ZoneTemplate>
    <asp:Label ID="Label1" Runat="server" Title="Date" />
  </ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone 
  ID="WebPartZone2"
  Runat="server" 
  DragHighlightColor="#00ff00"
  AllowLayoutChange="true"
  EmptyZoneText="Add WebParts to this empty Zone."
  BorderWidth="2"
  BorderColor="DarkBlue"
  BorderStyle="Dashed" 
  MenuLabelText="Verbs Menu" 
  MenuPopupImageUrl="label.gif" >
  <VerbStyle Font-Italic="true" />
  <MenuLabelStyle BackColor="Lime" BorderWidth="1"  />
  <MenuLabelHoverStyle Font-Bold="true" />
  <MenuVerbHoverStyle BackColor="LightGrey" />
  <MenuVerbStyle Font-Italic="true" /> 
  <ZoneTemplate>
    <asp:Label ID="Label1" Runat="server" Title="Date" />
  </ZoneTemplate>
</asp:WebPartZone>

Remarks

The AllowLayoutChange property takes effect only when a zone is in a page display mode in which the layout of controls in the zone can be changed, such as DesignDisplayMode.

When AllowLayoutChange is set to false on a given zone, there are a number of actions that end users are prevented from carrying out on controls in the zone:

  • Users cannot drag controls to a different zone, rearrange controls within the zone, or move controls into the zone.

  • A number of properties that affect the user interface (UI) of WebPart controls in the zone are disabled so that users cannot edit those properties while the control is being edited using the AppearanceEditorPart and BehaviorEditorPart controls.

  • Users cannot add new controls to the zone from a CatalogPart control.

  • The close, delete, minimize, and restore verbs are not shown on controls in the zone.

Although the AllowLayoutChange property affects end users' ability to change the layout of a zone through the UI, it does not affect the ability to change the layout programmatically. For example, if AllowLayoutChange is set to false, users cannot close controls in the zone, but a developer could still call the CloseWebPart method to close controls programmatically.

This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

Applies to

See also