Implementación de IsPostBack en carga de página
Cuanto más uso ASP.NET, másif (!IsPostBack) {}
parece inútil ...
Primer ejemplo:
Por ejemplo, acabo de buscar en Google un problema, me dijeron que use esto como parte de la solución:
if (!Page.IsPostBack)
{
Page.LoadComplete += new EventHandler(Page_LoadComplete);
}
Lo que hace exactamente lo codificado, LoadComplete solo se disparará en la primera carga. Después de hacer clic en un botón, o cualquier cosa que active una devolución de datos, el evento LoadComplete se deja desenganchado, omitiendo así el controlador de eventos. Por lo tanto, su "arreglo" solo funciona en la primera carga = sin valor. Rápidamente comenté elif (!Page.IsPostBack) {}
y ahora el evento siempre se dispara como se desee.
Segundo ejemplo
Estoy intentando conectar eventos a un botón creado dinámicamente (que por cierto, no puedo ponerme a trabajar [GRR!]). Veo ejemplos que muestran esto:
myEditToggleButton = new Button();
myEditToggleButton.ID = "editToggleButton";
//^GOTTA HAVE THIS FOR EVENTS TO WORK! (supposedly, I haven't seen it work...)
if (!IsPostBack)
{
myEditToggleButton.Click += new EventHandler(myEditToggleButton_Click);
}
Controls.Add(myEditToggleButton);
Al igual que el primer ejemplo, entiendo que el evento no se enganchará después de la primera carga de la página, por lo que el botón es "inerte" después de un clic (porque al hacer clic se activó una devolución de datos).
Pregunta:
Cuando deberías usarif (!IsPostBack) {}
? Supongo que tiene que ver solo con controles creados de marcado.