2009-09-28 9 views
6

Estoy cargando un conjunto de registros que se cargan en un control Repeater. Tengo un control CheckBox para cada registro que determina si el elemento es Activo/Inactivo. ¿Cómo recorro todos los registros en el Repeater en un evento de clic de botón y guardo el estado de CheckBox? Necesitaré obtener la ID del registro y el estado Comprobado del control.¿Cómo guardar los elementos cargados en un repetidor?

Gracias!

Respuesta

17

Hay algunas formas de abordarlo. Si no está volviendo a enlazar los datos en PostBack (por ejemplo, depende del repetidor ya poblado), debe escribir la Id. Del registro en algún campo que se mantendrá en ViewState. En este ejemplo, he usado un HiddenField:

void Button_Click(object sender, EventArgs e) 
{ 
    foreach(RepeaterItem item in myRepeater.Items) 
    { 
     CheckBox cbxIsActive = item.FindControl("cbxID") as CheckBox; 
     HiddenField hdfID = item.FindControl("recordID") as HiddenField; 
     if(cbxIsActive != null && hdfID != null) 
     { 
      string recordID = hdfID.Value; 
      bool isActive = cbxIsActive.Checked; 
      UpdateRecord(recordID, isActive); 
     } 
    } 
} 
+0

Nice. No me di cuenta de que sería tan fácil. ¡¡Gracias!! –

Cuestiones relacionadas