miércoles, 13 de junio de 2012

Failed to load viewstate


Failed to load viewstate.  The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.  For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.


Tuve un encuentro con este caso particular que a simple vista puede generar terror e inconformidad. Mi escenario fue el siguiente: un pagina con un formview y un gridview, cuyo desarrollo me cedieron para realizar algunas modificaciones. En la lógica el formview nunca se muestra en modo itemtemplate, por lo cual sólo realizé los cambios necesarios para el inserttemplate y el edittemplate, esto ocasionaba que por defecto, una vez que se realizaba una actualización, este intentara mostrar en modo readonly, lo cual generaba el error referenciado, entonces hay dos opciones para resolver el problema.

  1. Crear adecuadamente el itemtempleta para que carge los datos correctamente (si es necesario)
  2. Como en mi caso no se usa este template, simplemente cambié el defaultmode a Edit
Soluciones practicas a problemas simples.