Como acceder a controles anidados en un Repeater de ASP.NET

[+] Hace poco estube desarrollando una aplicación ASP.NET y me dió por utulizar el control Repeater, y la intención de todas las aplicaciones Web es que sean lo más profesionales posible, en mi caso, agregué 3 LinkButton para los comandos de ABC (Altas, Bajas, Cambios)


  1. Crear con ID= lbCrearUsuario
  2. Editar con ID = lbEditarUsuario
  3. Borrar con ID = lbBorrarUsuario

Luego de eso, vino darle funcionalidad, ya que existen algunas consideraciones a tomar en cuenta y que forman parte de la profesionalidad del trabajo, como son:

1. Si un elemento ya ha sido creado, deshabilitar el Link "Crear".
2. Si ha sido Borrado (aplica la baja lógica), entonces cambiar el texto del Link
(Borrar<->Recuperar).

Para ello, es necesario recuperar el control anidado al Item del control Template y para lograr eso, hay que
declarar una variable del tipo del control a recuperar, en el caso del ejemplo, del tipo LinkButton.

Usando como base el argumento e del manejador del evento ItemDataBound del control Repeater, esto, para que se evalue cada elemento presentado en el Repeter


Codigo:

protected void rUsuarios_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
LinkButton _lbCrear = (LinkButton)e.Item.FindControl("lbCrearUsuario");
LinkButton _lbBorrar = (LinkButton )e.Item.FindControl("lbBorrarUsuario");

_lbCrear.Enabled = false;
_lbBorrar.Text = "Borrar";
}

Con eso, ya podemos acceder a cualquier control anindado en el ItemTemplate de un Repeater.

Comentarios

Entradas populares