Skip to main content
.NET Framework Class Library
ControlLoadControlState Method

Restores control-state information from a previous page request that was saved by the SaveControlState method.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Syntax
Protected Friend Overridable Sub LoadControlState ( _
	savedState As [%$TOPIC/cbbk4b33_en-us_VS_110_2_0_0_0_0%] _
)
protected internal virtual void LoadControlState(
	[%$TOPIC/cbbk4b33_en-us_VS_110_2_0_1_0_0%] savedState
)
protected public:
virtual void LoadControlState(
	[%$TOPIC/cbbk4b33_en-us_VS_110_2_0_2_0_0%]^ savedState
)
abstract LoadControlState : 
        savedState:[%$TOPIC/cbbk4b33_en-us_VS_110_2_0_3_0_0%] -> unit  
override LoadControlState : 
        savedState:[%$TOPIC/cbbk4b33_en-us_VS_110_2_0_3_0_1%] -> unit

Parameters

savedState
Type: SystemObject

An Object that represents the control state to be restored.

Remarks

Override this method when you need to specify how a custom server control restores its control state. For more information, see ASP.NET State Management Overview.

Examples

The following code example overrides the LoadControlState method in a custom ASP.NET control. When this method is invoked, it determines whether control state was previously saved for the control and, if so, sets the internal property currentIndex to the saved value.

The OnInit method is overridden to call the RegisterRequiresControlState method on the Page to indicate that the custom control uses control state.

Class Sample
  Inherits Control

  Dim currentIndex As Integer

      Protected Overrides Sub OnInit(ByVal e As EventArgs)
          Page.RegisterRequiresControlState(Me)
          currentIndex = 0
          MyBase.OnInit(e)
      End Sub

      Protected Overrides Function SaveControlState() As Object
          If currentIndex <> 0 Then
              Return CType(currentIndex, Object)
          Else
              Return Nothing
          End If
      End Function

      Protected Overrides Sub LoadControlState(ByVal state As Object)
          If (state <> Nothing) Then
              currentIndex = CType(state, Integer)
          End If
      End Sub

End Class
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;
        }
    }
}
Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0
Platforms

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.