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)
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 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.
Security Note