miércoles, 6 de enero de 2010

ASP.NET Ajax - Añadir triggers a un UpdatePanel dinámicamente

Este post te será útil en el caso de que estés interesado en añadir eventos como triggers de Update Panels programáticamente en tiempo de ejecución.

Cuando se añaden Triggers a un update panel en tiempo de diseño, el aspecto de nuestra página será el siguiente:


 

<asp:UpdatePanel
ID="UpdatePanel1"
runat="server"
ChildrenAsTriggers="False"
UpdateMode="Conditional">

<ContentTemplate>

<asp:Button
ID="BtnAcceptar"
runat="server"
Text="Aceptar"
OnClick="BtnAcceptar_Click"
/>

</ContentTemplate>

<Triggers>

<asp:AsyncPostBackTrigger
ControlID="BtnAcceptar"
EventName="Click"
/>

</Triggers>

</asp:UpdatePanel>


 

Si tus necesidades precisan que estos triggers sean añadidos en tiempo de ejecución utiliza el siguiente código:


 

AsyncPostBackTrigger Trigger = new
AsyncPostBackTrigger();

//ControlID = ID del control que provoca el evento.

Trigger.ControlID = ControlID;

//EventName = Nombre del evento, p.e: Click, SelectedIndexChange.

Trigger.EventName = EventName;

//Se añade el trigger al update panel

UpdatePanel1.Triggers.Add(Trigger);


 

Espero que te sea de utilidad!

2 comentarios:

  1. hola como hago para remover un triger

    ResponderEliminar
  2. Buenas,

    prueba UpdatePaner1.Triggers.Remove(UpdatePanelTrigger).

    Un Saludo

    ResponderEliminar