ASP.NET

Eventos Postback Frente a Eventos No Post Back

Los eventos Postback son aquellos que se publican en el servidor inmediatamente estos son tales como el Button.Click por otro lado estan los NoPostBack son los que no se publican inmediatamente en el servidor como TextBox.TextChanged, o eventos o eventos de seleccion como los CheckBox.CheckedChanged, en su lugar el control se guarda en cache estos eventos hasta la siguiente vez que ocurra una aplicacion, claro que este comportamiento puede cambiar (elementos nopostback ponerlos como postback) su propiedad AutoPostBack en true.

 

Controles Postback y no postback

Postback

No-PostBack

Button

BulletedList

Calendar

CheckBox

DataGrid

CheckBoxList

DataList

DataPager

FileUpload

DropDownList

GridView

ListBox

ImageButton

Panel

ImageMap

RadioButtonList

LinkButton

RadioButton

ListView

ScriptManager*

Menu

ScriptManagerProxy*

Repeater

TextBox

Timer*

UpdatePanel*

UpdateProgress*

Los de Rojo en la tabla son controles AJAX ASP.NET.

Tipos de Post Back

Hay 2 tipos de PostBack, uno de ellos es en “normal” asincrono ocurre cuando todos los eventos no postback se recompilan junto con el estado de la vista y valores de formulario para ser enviados al servidor y se genera una nueva pagina HTML para ser visualisada en el navegador, esto era antes de que apareciera el AJAX, los usuarios lo visualizan cuando dan un boton send por ejemplo se pone la pantalla blanca y carga una pantalla nueva.

Con AJAX esta el postback asincrono, es donde el servidor actualiza solo el componete como lo son los combos que traen por ejemplos los paises, a simple vista ya no pone la pagina en blanco aunque haga un postback al servidor solo actualiza el control, pero a simple vista ya que el post back lo hace completo solo el control se devuelve.

IsPotsBack

El Objeto Page presenta la propiedad IsPostBack, la cual es una propiedad Booleana de solo lectura que inidca si la pagina se carga por primera vez o si se carga en respuesta a un postback del cliente. Existen muchas operaciones costosas que solo se necesitaran cargar una sola vez. evitando que vuelva a generarse esa operacion costosa

 

mipagina.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
         Label1.Text = “Esta es la operacion Costosa Que se ejecuta”;
     }

else

{

Label1.Text = DateTime.Now.ToString();

}


}

En este ejemplo es solo para dar entender el concepto, la primera vez muestra un mensaje, despues muestra la Hora.

See Ya

edit post