.NET Framework Class Library
ControlSaveViewState Method

Saves any server control view-state changes that have occurred since the time the page was posted back to the server.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Syntax
Protected Overridable Function SaveViewState As [%$TOPIC/wxza8b0t_en-us_VS_110_1_0_0_0_0%]
protected virtual [%$TOPIC/wxza8b0t_en-us_VS_110_1_0_1_0_0%] SaveViewState()
protected:
virtual [%$TOPIC/wxza8b0t_en-us_VS_110_1_0_2_0_0%]^ SaveViewState()
abstract SaveViewState : unit -> [%$TOPIC/wxza8b0t_en-us_VS_110_1_0_3_0_0%]  
override SaveViewState : unit -> [%$TOPIC/wxza8b0t_en-us_VS_110_1_0_3_0_1%]

Return Value

Type: SystemObject
Returns the server control's current view state. If there is no view state associated with the control, this method returns .
Remarks

View state is the accumulation of the values of a server control's properties. These values are automatically placed in the server control's ViewState property, which is an instance of the StateBag class. This property's value is then persisted to a string object after the save state stage of the server control life cycle. For more information, see ASP.NET Page Life Cycle Overview.

When view state is saved, this string object is returned to the client as a variable that is stored in an HTML HIDDEN element. When you author a custom server control with a custom view state, the view state can be managed explicitly with the SaveViewState and LoadViewState methods. For more information, see ASP.NET State Management Overview. For information on implementing a custom session-state provider, see Implementing a Session-State Store Provider.

Examples

The following example overrides the SaveViewState method in a custom ASP.NET server control. When this method is invoked, it determines whether the control has any child controls and whether the containing Page object is the result of a postback. If both are true, it changes the Text property of a Label Web server control to read Custom Control Has Saved State. It then saves the view state of the control as an array of objects, named allStates.

Protected Overrides Function SaveViewState() As Object 
   ' Change Text Property of Label when this function is invoked. 
   If HasControls() And Page.IsPostBack Then 
      CType(Controls(0), Label).Text = "Custom Control Has Saved State" 
   End If 
   ' Save State as a cumulative array of objects. 
   Dim baseState As Object = MyBase.SaveViewState()
   Dim _userText As String = UserText
   Dim _passwordText As String = PasswordText
   Dim allStates(3) As Object
   allStates(0) = baseState
   allStates(1) = _userText
   allStates(2) = PasswordText
   Return allStates
End Function
protected override object SaveViewState()
{  // Change Text Property of Label when this function is invoked. 
   if(HasControls() && (Page.IsPostBack))
   {
      ((Label)(Controls[0])).Text = "Custom Control Has Saved State";
   }
   // Save State as a cumulative array of objects. 
   object baseState = base.SaveViewState();
   string userText = UserText;
   string passwordText = PasswordText;
   object[] allStates = new object[3];
   allStates[0] = baseState;
   allStates[1] = userText;
   allStates[2] = PasswordText;
   return allStates;
}
Version Information

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
Platforms

Windows 8.1, Windows Server 2012 R2, 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.