Wie erzwinge ich ein vollständiges Post-Back von einer Schaltfläche in einem UpdatePanel?
c#
.net
asp.net
asp.net-ajax
André Pena
quelle
quelle
Fügen Sie dies einfach hinzu, weil es sonst niemand hat. Es ist möglich, dies in Code-Behind in einer Codezeile ohne eine der oben genannten Methoden durchzuführen. Fügen Sie dies einfach in page_load ein:
Visual Basic
C #
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
quelle
this
oderpage
Von hier aus :
Verwenden Sie das PostBackTrigger-Steuerelement, um zu aktivieren, dass Steuerelemente in einem UpdatePanel ein Postback verursachen, anstatt ein asynchrones Postback durchzuführen.
<Triggers> <asp:PostBackTrigger ControlID="controlID" /> </Triggers>
quelle
Ich hatte das gleiche Problem mit einem ImageButton in einem WebDataGrid.
Ich habe stattdessen die Zeile von EvilDr in den preRender für das Webdatagrid eingefügt. Hat super funktioniert!
for (int i = 0; i < wdgMyData.Rows.Count; i++) { ScriptManager.GetCurrent(this).RegisterPostBackControl((ImageButton)wdgMyData.Rows[i].Items[3].FindControl("btnDownloadExcel")); }
quelle
Es ist eine alte Frage, es gibt auch einen etwas kniffligen Ansatz, wenn sich alles in Update-Panels befindet und Sie einen vollständigen Beitrag zurückschicken möchten, damit Ihr Document.Ready- Code beim Klicken funktioniert.
1. Erstellen Sie eine Dummy-Schaltfläche außerhalb des Update-Fensters und klicken Sie auf den Code dahinter
ScriptManager.RegisterStartupScript(Page, this.GetType(), "ResetDoc", "ResetDocumentReady();", true);
2. Definieren Sie die Funktion am Frontend folgendermaßen
function ResetDocumentReady() { $("[id$=DummyButton]").click(); }
HINWEIS: Am besten verwenden Sie jedoch den Trigger, die Antwort von @Thibault Falise :)
quelle