Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con un evento en asp.net

Estas en el tema de Problema con un evento en asp.net en el foro de .NET en Foros del Web. Hola a todos, les comento que necesito alguna sugerencia o ayuda de como puedo resolver un problema que tengo en una pagina asp.net Tengo una ...
  #1 (permalink)  
Antiguo 03/09/2012, 09:17
Avatar de sebas_20_jv  
Fecha de Ingreso: agosto-2009
Ubicación: Medellin, Colombia
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 3
Problema con un evento en asp.net

Hola a todos, les comento que necesito alguna sugerencia o ayuda de como puedo resolver un problema que tengo en una pagina asp.net

Tengo una pagina asp.net la cual tiene varios Combobox y textbox para hacer filtros y segun esos filtros me carga informacion en un AspxDataView(Control de devexpress). este Aspxdataview tiene varios itemtemplate que son una imagen, un label, un popup y un Checkbox.

este es el codigo que tengo en el boton buscar que simplemente lo que hace es enlazar la busqueda al control. (Cuando hago la primera busqueda guardo los datos en Session)

protected void BtnBuscar_Click(object sender, EventArgs e)
{
ASPxDataView1.DataSource = CargarReferencias();
ASPxDataView1.DataBind();
}

- Este control hace la paginacion automaticamente asi que cuando le doy al boton de ir al segundo registro el control hace Postback entonces en el Evento Load vuelvo a enlazar el control con los datos que hay en session.

if (HttpContext.Current.Session["SesionTP"] != null)
{
ASPxDataView1.DataSource = (DataTable)Session["SesionDatos"];
ASPxDataView1.DataBind();
}

Hasta aqui todo funciona bien........
pero tengo un evento OnCheckedChanged asignado al checkbox que esta dentro del DataView, este evento guarda en una lista el Id del item seleccionado.

<dx:ASPxCheckBox ID="ASPxCheckBox1" AutoPostBack="true" OnCheckedChanged="AgregarMosaico" runat="server">

protected void AgregarMosaico(object sender, EventArgs e)
{
/////////// Codigo del evento
}

Y aqui es donde esta el problema, pues cada vez que le doy click al Checkbox
la pagina vuelve a cargar y enlaza de nuevo el control con los datos que pueden ser hasta 1000 registros y esto afecta el rendimiento de mi aplicacion por completo...

Cualquier sugerencia o ayuda me serviria mucho, Gracias!!
  #2 (permalink)  
Antiguo 03/09/2012, 10:07
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con un evento en asp.net

es que el error esta claro quita de tu checkbox el AutoPostBack="true"
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 03/09/2012, 10:24
Avatar de sebas_20_jv  
Fecha de Ingreso: agosto-2009
Ubicación: Medellin, Colombia
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problema con un evento en asp.net

Si eso habia hecho le quite el AutopostBack pero ya no entra ni me ejecuta el evento que tengo en el code behind.

<dx:ASPxCheckBox ID="ASPxCheckBox1" OnCheckedChanged="AgregarMosaico"runat="server">

protected void AgregarMosaico(object sender, EventArgs e)
{
/////////// Por aca no pasa ............
}
  #4 (permalink)  
Antiguo 03/09/2012, 10:47
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Problema con un evento en asp.net

es que lo que pasa es que en aspx para que un evento funcione necesariamente tienes que realizar el autopostback a menos que uses ajax para que no recarge la pagina pero internamente esta realizando una petición, para esto trata de usar el scriptmanager y en su respectivo caso el updatePanel
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: evento, net, textbox, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:48.