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)

[BrowsableAttribute(false)]
public override bool EnableViewState { get; set; }
<asp:Page EnableViewState="True|False" />

Property Value

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

For information about why you might want to disable view state, see Control.EnableViewState.

Even if EnableViewState is false, the page might contain a hidden view state field that is used by ASP.NET to detect a 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.


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

   public WebPage()
   {
      Page.Init += new System.EventHandler(Page_Init);
   }

   private void Page_Load(object sender, System.EventArgs e)
   {
      // 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";
      buttonObj.Click += new EventHandler(Button_Click);
      myFormObj.Controls.Add(label1);
      myFormObj.Controls.Add(textBoxObj);
      myFormObj.Controls.Add(buttonObj);
      myFormObj.Controls.Add(label2);
   }
   private void Button_Click(object sender, EventArgs e)
   {
      String temp = "<br>Name is " + textBoxObj.Text + "<br>";
      temp += "Saved content of previous page is " + ViewState["name"] as String;
      label2.Text = temp;
   }
   protected override void LoadViewState(object viewState)
   {
      if(viewState != null)
         base.LoadViewState(viewState);
   }
   protected override object SaveViewState()
   {
      ViewState["name"] = textBoxObj.Text;
      return base.SaveViewState();
   }
   private void Page_Init(object sender, EventArgs e)
   {
      this.Load += new System.EventHandler(this.Page_Load);

      myFormObj = new MyForm();
      label1 = new Label();
      label2 = new Label();
      textBoxObj = new TextBox();
      buttonObj = new Button();
   }
};


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft