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.
Assembly: System.Web (in System.Web.dll)
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 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(); } };
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.
Security Note