Es el estado de control.
Si realmente quiere deshacerse del estado de vista y ControlState puede utilizar este código en el código subyacente de la página, o en cualquier clase que el código subyacente deriva de
class MyPage : Page {
private class DummyPageStatePersister : PageStatePersister {
public DummyPageStatePersister(Page p) : base(p) {}
public override void Load() {}
public override void Save() {}
}
private DummyPageStatePersister _PageStatePersister;
protected override PageStatePersister PageStatePersister {
get {
if (_PageStatePersister == null)
_PageStatePersister = new DummyPageStatePersister(this);
return _PageStatePersister;
}
}
// other stuff comes here
}
tener mucho cuidado al hacer esto, sin embargo, ya que está violando el contrato con los controles. MSDN establece explícitamente que el estado de control siempre está disponible. En la práctica, sin embargo, me ha funcionado.
Editar: Como estaba downvoted, me gusta volver a señalar: No hacer esto a menos que sepa exactamente lo que está haciendo. En mi caso, casi toda la aplicación fue escrita en javascript del lado del cliente, y en esas pocas ocasiones en que ocurrieron las devoluciones, siempre utilicé la colección Request.Form para recuperar los valores. No utilice controles del lado del servidor para nada más que renderización simple si hace esto.
Supongo que algunos de los controles incorporados de ASP.net están usando ControlState? – TimLeung
Correcto. Ver: http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/truly-understanding-viewstate.aspx –
No creo que esto sea preciso. Si crea un nuevo formulario web sin controles, todavía hay algún estado de vista. – brendan