Page.RegisterRequiresControlState Method
Registers a control as one whose control state must be persisted.
Namespace: System.Web.UI
Assembly: System.Web (in System.Web.dll)
Parameters
- control
- Type: System.Web.UI.Control
The control to register.
| Exception | Condition |
|---|---|
| ArgumentException | The control to register is null. |
| InvalidOperationException | The RegisterRequiresControlState method can be called only before or during the PreRender event. |
Custom server controls that use control state must call the RegisterRequiresControlState method on each request because registration for control state is not carried over from request to request during a postback event. It is recommended that registration occur in the Init event.
The following code example shows a custom server control calling the RegisterRequiresControlState method.
public class Sample : Control { private int currentIndex = 0; protected override void OnInit(EventArgs e) { Page.RegisterRequiresControlState(this); base.OnInit(e); } protected override object SaveControlState() { return currentIndex != 0 ? (object)currentIndex : null; } protected override void LoadControlState(object state) { if (state != null) { currentIndex = (int)state; } } }
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.