PRB: Server controls persist their state when EnableViewState is set to False (316813)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework 1.1)
  • Microsoft ASP.NET (included with the .NET Framework) 1.0

This article was previously published under Q316813

SYMPTOMS

The following server controls persist their information across requests even when the control ViewState (the EnableViewState attribute) is set to False:
  • The TextBox control.
  • The CheckBox control.
  • The RadioButton control.

CAUSE

This behavior occurs because the ViewState of a control is only one of the methods that are used to persist a control's attributes across requests. In the server controls that are mentioned in the "Symptoms" section, attributes that are not normally posted to the server through the form-get or the form-post are handled by the ViewState. These values include attributes of the control, such as BackColor. Attributes that are normally posted to the server are handled by the IPostBackDataHandler interface. An example of such an attribute is the checked attribute of the CheckBox control.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce the Behavior

  1. Create an .aspx page with a Web Forms CheckBox control(ID=CheckBox1) and a Button control.
  2. Add the following Microsoft Visual C# code for the Page_Load event:
    private void Page_Load(object sender, System.EventArgs e)
    {
    	if(!IsPostBack)
    	{
    		CheckBox1.BackColor = Color.FromName("Tomato");
    	}
    }
    					
  3. Verify that the EnableViewState property for the CheckBox control is set to True.
  4. Save and compile your project, and then browse to the .aspx page.

    Even though the background color for the CheckBox control is set when you first request the .aspx page, it is maintained across requests when you submit the form with the button.
  5. Set the EnableViewState property of the Checkbox control to False.
  6. Save and compile your project, and then browse to the .aspx page with a new instance of the browser.
  7. Click to select the check box for the checked attribute. When you resubmit the .aspx page with the button, the background color of the Checkbox control is lost. However, the checked state of the control is maintained.

Modification Type:MinorLast Reviewed:5/3/2004
Keywords:kbprb kbServerControls kbState kbWebForms KB316813