¿Cómo fuerzo el post-back completo desde un botón dentro de un UpdatePanel?
¿Cómo fuerzo el post-back completo desde un botón dentro de un UpdatePanel?
5 answers
Puede usar la propiedad Triggers del UpdatePanel para registrar acciones que desencadenan un postback completo.
Agregue un objeto PostBackTrigger a esa propiedad, conteniendo el ControlID del control que necesita activar un postback completo.
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
...
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="myFullPostBackControlID" />
</Triggers>
</asp:UpdatePanel>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-30 13:30:36
Simplemente agregando esto porque nadie más lo ha hecho. Es posible hacer esto en code-behind en una línea de código sin ninguno de los métodos anteriores. Simplemente pon esto en page_load:
Visual Basic
ScriptManager.GetCurrent(Me).RegisterPostBackControl(myButtonID)
C #
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-07 18:00:08
De aquí:
Use el control PostBackTrigger para habilitar los controles dentro de un UpdatePanel para causar un postback en lugar de realizar un postback asincrónico.
<Triggers>
<asp:PostBackTrigger ControlID="controlID" />
</Triggers>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-30 13:33:04
Tuve el mismo problema usando un ImageButton dentro de un WebDataGrid.
Puse la línea de EvilDr dentro del preRender para el 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"));
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-26 22:17:40
Es una vieja pregunta, hay un enfoque un poco complicado también, cuando todo está en paneles de actualización y desea hacer un post completo para que su Documento.Ready el código funciona al hacer clic.
1. Cree un botón ficticio 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. Defina la función en el front end de esta manera
function ResetDocumentReady() {
$("[id$=DummyButton]").click();
}
NOTA: Pero la mejor manera es usar trigger, la respuesta publicada por @ Thibault Falise :)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-09 08:14:28