.NET Framework Class Library
Control..::.LoadControlState 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

Visual Basic (Declaration)
Protected Friend Overridable Sub LoadControlState ( _
    savedState As Object _
)
Visual Basic (Usage)
Dim savedState As Object

Me.LoadControlState(savedState)
C#
protected internal virtual void LoadControlState(
    Object savedState
)
Visual C++
protected public:
virtual void LoadControlState(
    Object^ savedState
)
JScript
protected internal function LoadControlState(
    savedState : Object
)

Parameters

savedState
Type: System..::.Object
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.

Visual Basic
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
C#
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;
        }
    }
}
Platforms

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.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Other Resources

Tags :


Page view tracker