lunes, 9 de agosto de 2010

UpdatePanel desde un control de usuario

Pequeño problemilla que se resuelve de forma sencilla.
Tengo un GridView dentro de un UpdatePanel y quiero actualizarlo cuando:
  • Pulso un botón en la propia Página que contiene el GridView.
  • Pulso un botón que está situado en un control de usuario.
<%@ Register TagPrefix="CU" TagName="ControlUsuario" Src="~/controles/CU.ascx" %>
<asp:UpdatePanel ID="UpdatePanelGvAsignaciones" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="gvAsignaciones" runat="server" AutoGenerateColumns="true">
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="bBotonEnPagina" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<CU:ControlUsuarioID="ControlUsuario" runat="server" />
El primer requisito es fácil, declaro un trigger y listo.

Para el segundo requisito, tengo en cuenta que para poder lanzar el evento onClick del botón del control de usuario dentro de la página principal tengo que suscribir un método de la misma al evento correspondiente.
ControlUsuario.bBotonEnControlUsuario_Click += aceptarEnControlUsuario;
Y dentro del método que se lanza, actualizo el UpdatePanel que contiene el GridView.
public void aceptarEnControlUsuario()
{
  UpdatePanelGvAsignaciones.Update();
}
Y ya está!!

1 comentario:

Grupo ADSI II dijo...

Hola tengo un escenario similiar..mi pregunta es tienes dos controles de usuario en la pagina . . hay un control de usuario que tiene un boton desde ese boton actualizas la grilla que esta en otro control de usuario