This documentation is archived and is not being maintained.

Page.EnableViewState Property

Gets or sets a value indicating whether the page maintains its view state, and the view state of any server controls it contains, when the current page request ends.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

'Declaration
Public Overrides Property EnableViewState As Boolean
'Usage
Dim instance As Page
Dim value As Boolean

value = instance.EnableViewState

instance.EnableViewState = value
/** @property */
public boolean get_EnableViewState ()

/** @property */
public void set_EnableViewState (boolean value)

public override function get EnableViewState () : boolean

public override function set EnableViewState (value : boolean)

Not applicable.

Property Value

true if the page maintains its view state; otherwise, false. The default is true.

Even if EnableViewState is false, there may be a hidden view state field rendered with the page that is used by ASP.NET to detect postback.

The following code example sets the EnableViewState property to false when the page is loaded. This disables view state for the Page object, meaning that neither view-state information for the page nor any controls contained by the page are saved.

Security noteSecurity Note:

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview (Visual Studio).

Public Class WebPage
   Inherits System.Web.UI.Page
   Private myFormObj As MyForm
   Private label1 As Label
   Private label2 As Label
   Private textBoxObj As TextBox
   Private buttonObj As Button
   
   Public Sub New()
      AddHandler Page.Init, AddressOf Page_Init
   End Sub 'New
   
   
   Private Sub Page_Load(sender As Object, e As System.EventArgs)
      ' Comment the following line to maintain page view state.
      Page.EnableViewState = false
      myFormObj.Method = "post"
      Controls.Add(myFormObj)
      textBoxObj.Text = "Welcome to .NET"
      
      label1.Text = "Enter a name"
      buttonObj.Text = "ClickMe"
      AddHandler buttonObj.Click, AddressOf Button_Click
      myFormObj.Controls.Add(label1)
      myFormObj.Controls.Add(textBoxObj)
      myFormObj.Controls.Add(buttonObj)
      myFormObj.Controls.Add(label2)
   End Sub 'Page_Load
   
   Private Sub Button_Click(sender As Object, e As EventArgs)
      Dim temp As [String] = "<br>Name is " + textBoxObj.Text + "<br>"
      temp += "Saved content of previous page is " + CType(ViewState("name"), String)
      label2.Text = temp
   End Sub 'Button_Click
   
   Protected Overrides Sub LoadViewState(viewState As Object)
      If Not (viewState Is Nothing) Then
         MyBase.LoadViewState(viewState)
      End If
   End Sub 'LoadViewState
   
   Protected Overrides Function SaveViewState() As Object
      ViewState("name") = textBoxObj.Text
      Return MyBase.SaveViewState()
   End Function 'SaveViewState
   
   Private Sub Page_Init(sender As Object, e As EventArgs)
      AddHandler Me.Load, AddressOf Me.Page_Load
      myFormObj = New MyForm()
      label1 = New Label()
      label2 = New Label()
      textBoxObj = New TextBox()
      buttonObj = New Button()
   End Sub 'Page_Init
End Class 'WebPage

public class WebPage extends Page
{
    private MyForm myFormObj;
    private Label label1;
    private Label label2;
    private TextBox textBoxObj;
    private Button buttonObj;

    public WebPage()
    {
        get_Page().add_Init(new System.EventHandler(Page_Init));
    } //WebPage

    private void Page_Load(Object sender, System.EventArgs e)
    {
        // Comment the following line to maintain page view state.
        get_Page().set_EnableViewState(false);
        myFormObj.set_Method("post");
        get_Controls().Add(myFormObj);
        textBoxObj.set_Text("Welcome to .NET");
        label1.set_Text("Enter a name");
        buttonObj.set_Text("ClickMe");
        buttonObj.add_Click(new EventHandler(Button_Click));
        myFormObj.get_Controls().Add(label1);
        myFormObj.get_Controls().Add(textBoxObj);
        myFormObj.get_Controls().Add(buttonObj);
        myFormObj.get_Controls().Add(label2);
    } //Page_Load

    private void Button_Click(Object sender, EventArgs e)
    {
        String temp = "<br>Name is " + textBoxObj.get_Text() + "<br>";
        temp += "Saved content of previous page is " 
            + get_ViewState().get_Item("name");
        label2.set_Text(temp);
    } //Button_Click

    protected void LoadViewState(Object viewState)
    {
        if (viewState != null) {
            super.LoadViewState(viewState);
        }
    } //LoadViewState

    protected Object SaveViewState()
    {
        get_ViewState().set_Item("name", textBoxObj.get_Text());
        return super.SaveViewState();
    } //SaveViewState

    private void Page_Init(Object sender, EventArgs e)
    {
        this.add_Load(new System.EventHandler(this.Page_Load));
        myFormObj = new MyForm();
        label1 = new Label();
        label2 = new Label();
        textBoxObj = new TextBox();
        buttonObj = new Button();
    } //Page_Init
} //WebPage

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: