---
title: Enable or disable a page or control subtree
summary: Toggles the enabled state of a control, a whole page's control tree, or a menu button.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-08-17
library: SAIF.Presentation.Web.Core.Infragistics111
reference_type: package
operation_id: OP-CORE-013
trigger: Consuming page switching between read and edit modes
---

# Enable or disable a page or control subtree

This operation toggles the enabled state of a control, a whole page's control collection, or a `SAIFMenuTop.clsMenuButton`, letting a page switch between read-only and editable modes with one call.

| Field | Value |
| --- | --- |
| **Operation ID** | OP-CORE-013 |
| **Trigger** | Consuming page switching between read and edit modes |
| **Inputs** | `Control`, `Page`, or `SAIFMenuTop.clsMenuButton`; enable flag |
| **Outputs** | Enabled/disabled controls |
| **Primary components** | `Utilities.clsControlManager.EnablePageControl` (three overloads) |
| **Entry point** | `SAIF.Presentation.Web.Core.Infragistics111/clsControlManager.vb` |

## Steps

1. For the `Page` overload, walk the page's control collection and apply the flag to each child. ([BR-CORE-034](../business-rules.md#br-core-034-disabling-a-page-disables-every-control-it-contains))
2. For the `Control` overload, apply the flag to the control (recursing into children where the control has them).
3. For the `SAIFMenuTop.clsMenuButton` overload, apply the flag to the menu button so top-menu actions can be suppressed.
   - > **Origin**: Delegates to `SAIFMenuTop.clsMenuButton` in [SAIF.Presentation.Web.Controls.V2.Menu](../../saif-presentation-web-controls-v2-menu/overview.md) (local project reference).

## Process flow

The following diagram visualizes this operation's control flow.

```mermaid
flowchart TD
	Start([EnablePageControl called]) --> D1{Overload?}
	D1 -->|Page| S1[Walk full control collection, apply flag to every child]
	D1 -->|Control| S2[Apply flag to control, recurse into children]
	D1 -->|clsMenuButton| S3[Apply flag to menu button]
	S3 --> S4[Delegates to SAIF.Presentation.Web.Controls.V2.Menu]
```

## Failure and edge-case behavior
- No recursion-depth guard is documented for the `Control` overload; a deeply nested control tree would rely on the runtime call stack.**

## Related documentation
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)

## Sources
- `SAIF.Presentation.Web.Core.Infragistics111/clsControlManager.vb`
