Tengo una lista de datos que tiene una colección de personas vinculadas a ella, con cada persona que tiene un botón que al hacer clic necesita una devolución de datos asincrónica para que el controlador de eventos OnClick pueda cambiar los detalles mostrados en un panel de actualización [la lista de datos está fuera de el UpdatePanel].Cómo activar siempre un PostBack asincrónico para un Panel de actualización desde un botón en una Lista de datos?
He intentado dos veces configurar el Botón para cambiar el Panel de actualización en el controlador de eventos OnItemDataBound del DataList. Uno asigna AsyncPostBackTrigger al UpdatePanel y el otro a RegisterAsyncPostBackControl al ScriptManager. Ambos funcionan pero solo la primera vez. Si se presiona el botón de otra persona [o el mismo botón por segunda vez], la página se publica por completo.
UpdatePanel's UpdateMode está establecido en Conditional y ScriptManager tiene EnablePartialRenderingEnablePartialRendering establecido en true.
en el Código OnItemDataBound:
Button btnShowNotes = e.Item.FindControl("btnShowNotes") as Button;
// Trigger
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = btnShowNotes.UniqueID;
trigger.EventName = "Click";
upDetails.Triggers.Add(trigger); // UpdatePanel
// The trigger or this is used, not both
ScriptManager1.RegisterAsyncPostBackControl(btnShowNotes);
vez que el primer asíncrono PostBack ha sucedido parece perder la referencia, pero sin duda esto se puede conservar sin tener que volver a enlazar constantemente DataList? Debo extrañar algo en la forma en que estoy intentando esto.
Buscar respuestas en un fin de semana probablemente no sea demasiado exitoso, pero molesto [típicamente] Necesito que esto se resuelva antes del lunes, ya que las nuevas funciones deben activarse el lunes, ¡y esto es lo único que impide que se complete! – Rich