PRB: Controles de servidor conserven su estado cuando EnableViewState se establece en false

Seleccione idioma Seleccione idioma
Id. de artículo: 316813 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Los controles de servidor siguientes conservan su información en las solicitudes incluso cuando el control ViewState (el atributo EnableViewState ) se establece en false :
  • El control TextBox .
  • El control CheckBox .
  • El control RadioButton .

Causa

Este comportamiento se produce porque la propiedad ViewState de un control es sólo uno de los métodos que se utilizan para conservar los atributos del control en las solicitudes. En controles de servidor que se mencionan en la sección "Síntomas", los atributos que no se registran normalmente en el servidor mediante el formulario-get o el envío de formulario se controlan mediante la propiedad ViewState. Estos valores incluyen atributos del control, como BackColor . Atributos que normalmente se registran en el servidor se controlan mediante la interfaz IPostBackDataHandler . Un ejemplo de dicho atributo es el atributo activado del control CheckBox .

Estado

Este comportamiento es por diseño.

Más información

Pasos para reproducir el comportamiento

  1. Crear una página .aspx con control(ID=CheckBox1) un CheckBox de formularios Web Forms y un control Button .
  2. Agregue el siguiente código de Microsoft Visual C# para el evento Page_Load :
    private void Page_Load(object sender, System.EventArgs e)
    {
    	if(!IsPostBack)
    	{
    		CheckBox1.BackColor = Color.FromName("Tomato");
    	}
    }
    					
  3. Compruebe que la propiedad EnableViewState del control CheckBox está establecida en true .
  4. Guarde y compile el proyecto y, a continuación, busque la página .aspx.

    Aunque el color de fondo para el control CheckBox está establecido cuando se solicita por primera vez la página .aspx, se mantiene entre las solicitudes cuando envíen el formulario con el botón.
  5. Establezca la propiedad EnableViewState del control CheckBox en false .
  6. Guardar y compilar el proyecto y, a continuación, busque la página .aspx con una nueva instancia del explorador.
  7. Haga clic para seleccionar la casilla de verificación el atributo checked . Cuando vuelva a enviar la página .aspx con el botón, el color de fondo del control CheckBox se pierde. Sin embargo, se mantiene el estado activado del control.

Propiedades

Id. de artículo: 316813 - Última revisión: viernes, 23 de febrero de 2007 - Versión: 2.7
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palabras clave: 
kbmt kbprb kbservercontrols kbstate kbwebforms KB316813 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 316813

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com