?id=c92736d8-7e26-40a5-99c7-913516a80a9c
Sustituir la restauración de ViewState para evitar el efecto de doble evento ItemCreated
por José M. Alarcón
Hace un par de días comenté el efecto de ejecución doble de ItemCreated que se podía dar al enlazar ciertos DataGrids en una página Web. Una forma posible e evitarlo (entre otras muchas) sería redefinir el evento LoadViewState de la página para marcar con un indicador booleano cuándo se está ejecutando, una cosa así:
private boolean RestaurandoViewState = false;
protected override void LoadViewState(object savedState)
{
this.RestaurandoViewState = true;
base.LoadViewState(savedState);
this.RestaurandoViewState = false;
}
De este modo durante el evento ItemCreated sólo tenemos que comprobar si se está restaurando el ViewState o no, ejecutando el código sólo en caso de que no.
José Manuel Alarcón Aguín
Fundador de
campusMVP.es, el
proyecto de referencia en formación on-line para programadores en lengua española.
Autor de varios libros y cientos de artículos. Galardonado como
MVP de Microsoft desde 2004. Gallego de Vigo, amante de la ciencia y la
tecnología, la música y la lectura. Ayudando a la gente en Internet desde 1996.