This documentation is archived and is not being maintained.

WebPartZoneBase.LayoutOrientation Property

Gets or sets a value that indicates whether controls in a zone are arranged vertically or horizontally.

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

public virtual Orientation LayoutOrientation { get; set; }
<asp:WebPartZoneBase LayoutOrientation="Orientation" />

Property Value

Type: System.Web.UI.WebControls.Orientation
An Orientation value that determines how controls in a zone are arranged. The default orientation is Vertical.


The value is not one of the enumerated Orientation values.

The LayoutOrientation property concerns how Web Parts controls are laid out in a zone. With the default Vertical orientation, the controls are rendered in a top-to-bottom arrangement, according to the ZoneIndex value of each control. With a Horizontal orientation, the controls are arranged side by side, subject to the width of the zone.

Internet Explorer can affect the height of a WebPart control, and the height of the zone that contains it. Internet Explorer renders web pages either in compatibility mode (backward compatible with previous browser versions), or in standards mode (determined by the presence of a DOCTYPE declaration in the page). For information about these modes, see the DHTML compatMode property. When Internet Explorer renders a page in standards mode, in some scenarios it does not resize cells in tables, even when a cell's HTML markup is <td height="100%">. As a result, WebPart controls and their containing zone are rendered so that the controls do not stretch to the full height of the zone.

This type of rendering occurs in two cases.

  • When a zone's LayoutOrientation property is set to Vertical, and you explicitly set the height on the zone. To enable controls to fill the full height of the zone, do not specify the height of a horizontal zone.

  • When a zone's LayoutOrientation property is set to Horizontal, and you do not explicitly set the height of the zone (or of the contained controls). To enable controls to fill the full height of the zone, set the height of the zone or of the controls in a vertical zone.

The code example in this topic demonstrates normal usage of the LayoutOrientation property. For a code example that demonstrates the height-related rendering issue and how to work around it, see the Height property.

The following code example demonstrates the declarative and programmatic use of the LayoutOrientation 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 LayoutOrientation property has a value assigned to it in the declarative markup. This value impacts WebPartZone1, after you load the page into a browser. The Web Parts controls in the zone are rendered horizontally.

  LayoutOrientation="Vertical" >
  <EditVerb Text="Edit WebPart" />
  <SelectedPartChromeStyle BackColor="LightBlue" />
      Title="Favorite Links" >
      <asp:ListItem Value="">
      <asp:ListItem Value="">
      <asp:ListItem Value="">
    <asp:Calendar ID="Calendar1" Runat="server" 
      Title="My Calendar" />

You can click the Toggle Layout Orientation button to change the orientation of the zone. The code to toggle the orientation occurs in the following code example from the partial class.

protected void Button2_Click(object sender, EventArgs e)
  if (WebPartZone1.LayoutOrientation == Orientation.Vertical)
    WebPartZone1.LayoutOrientation = Orientation.Horizontal;
    WebPartZone1.LayoutOrientation = Orientation.Vertical;
  Page_Load(sender, e);

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0