¿Cómo fuerzo la devolución completa desde un botón dentro de un UpdatePanel?¿Cómo fuerzo la devolución completa desde un botón dentro de un UpdatePanel?
Respuesta
Puede usar la propiedad Triggers de UpdatePanel para registrar las acciones que activan una devolución de datos completa.
Agregue un objeto PostBackTrigger a esa propiedad, que contiene el ControlID del control que necesita desencadenar una devolución de datos completa.
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
...
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="myFullPostBackControlID" />
</Triggers>
</asp:UpdatePanel>
De here:
utilizar el mando a PostBackTrigger para permitir controles dentro de un UpdatePanel para provocar una devolución de datos en lugar de realizar una devolución de datos asincrónica.
<Triggers>
<asp:PostBackTrigger ControlID="controlID" />
</Triggers>
+1 - Demasiado rápido @Aseem! – dugas
Hmm, sí, pero no funcionará si dentro de ese UpdatePanel tiene un GridView con números de página, por ejemplo. Cambie a una página nueva y los desencadenantes ya no funcionan. – Fandango68
Solo agregue esto porque nadie más lo ha hecho. Es posible hacer esto en código subyacente en una línea de código sin ninguno de los métodos anteriores. Sólo hay que poner esto en Page_Load:
Visual Basic
ScriptManager.GetCurrent(Me).RegisterPostBackControl(myButtonID)
C#
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
Muy agradable, después de horas de búsqueda, finalmente una solución que funciona. El problema era que todos mis controles (panel de actualización y botón) se estaban creando en el código subyacente, por lo que no se pudo configurar un postbacktrigger. ¡Gracias! – OverMars
Deberías poder.Cuando se crea el control, puede usar AddHandler para crear el desencadenador en su Subrutina que responde – EvilDr
Absolutamente correcto, es tan simple y estoy casi avergonzado de que nunca se me haya ocurrido. Muy bueno, sin embargo .. – OverMars
que tenía el mismo problema utilizando un ImageButton dentro de un WebDataGrid.
Puse la línea de EvilDr dentro del preRender para webdatagrid en su lugar. Funcionó muy bien!
for (int i = 0; i < wdgMyData.Rows.Count; i++)
{
ScriptManager.GetCurrent(this).RegisterPostBackControl((ImageButton)wdgMyData.Rows[i].Items[3].FindControl("btnDownloadExcel"));
}
Su una vieja cuestión no es el enfoque poco complicado, así, cuando todo está en paneles de actualización y usted quiere hacer pleno segundo palo para que su código document.ready funciona al hacer clic.
1. Crear un botón simulado fuera del panel de actualización y haga clic en él desde el código detrás de esta manera
ScriptManager.RegisterStartupScript(Page, this.GetType(), "ResetDoc", "ResetDocumentReady();", true);
2. definir la función en parte delantera como esto
function ResetDocumentReady() {
$("[id$=DummyButton]").click();
}
NOTA: Pero la mejor forma es usar el disparador, la respuesta publicada por @Thibault Falise :)
- 1. Forzar devolución de datos completa programáticamente desde UpdatePanel
- 2. LinkButton en ListView en UpdatePanel genera devolución de datos completa
- 3. FileUpload.PostedFile siempre nulo dentro de UpdatePanel
- 4. ¿Cómo puedo actualizar un UpdatePanel desde JavaScript?
- 5. Validadores de ASP.NET dentro de un UpdatePanel
- 6. ASP.Net - Javascript dentro de AJAX UpdatePanel
- 7. ¿Controles dinámicos creados dentro de UpdatePanel?
- 8. Cómo mantener TinyMCE después de la devolución de datos en un UpdatePanel
- 9. Postback completo desencadenado por LinkButton dentro de GridView dentro de UpdatePanel
- 10. ¿Cómo evitar que UpdatePanel cause la devolución de datos de toda la página?
- 11. Prevenir ASP.net __doPostback() de jQuery submit() dentro de UpdatePanel
- 12. FileUpload control dentro de un UpdatePanel sin actualizar toda la página?
- 13. ASP.NET UpdatePanel Javascript Devolución de llamada
- 14. jquery ui datepicker dentro de asp.net UpdatePanel
- 15. Actualizar un control fuera del UpdatePanel
- 16. UpdatePanel da plena devolución de datos en lugar de asyncpostback
- 17. ¿Escalar un dibujo dentro de un botón?
- 18. ¿Cómo funciona un UpdatePanel realmente?
- 19. ¿Cómo se usa un UpdatePanel correctamente? (asp.net)
- 20. MPMoviePlayerController película a pantalla completa dentro de un UIWebView
- 21. Código de JavaScript dentro de UpdatePanel
- 22. Custom Server Control provoca devoluciones completas dentro de UpdatePanel
- 23. ¿Cómo obtengo la Url actual desde dentro de un FilterAttribute?
- 24. Cómo activar siempre un PostBack asincrónico para un Panel de actualización desde un botón en una Lista de datos?
- 25. ¿Cómo fuerzo un Eclipse a desempaquetar?
- 26. Cómo dibujar a un contexto de gráficos NSView desde dentro de una devolución de llamada CVDisplayLink?
- 27. ¿Cómo desencadenar un UpdatePanel por un control TextBox?
- 28. ¿Cómo fuerzo el cursor al final de un NSTextField?
- 29. Devolución de resultados múltiples desde un método
- 30. ¿Cómo hacer un TextBox con un botón dentro de WPF?
Tengo una UltraWebGrid de Infragistics con una columna que consta de botones. Tuve un problema en el que al hacer clic en los botones, se activaban los controladores de eventos, lo que a su vez actualizaba la cuadrícula, pero la cuadrícula no se actualizaba realmente hasta el segundo clic. Poner los botones en un UpdatePanel y agregar estos disparadores resolvió el problema. – tsilb