Javascript nach dem Absenden des Formulars im Update-Bereich ausführen?

Das macht mich verrückt! Ich habe hier mindestens 5 Fragen gelesen, die in engem Zusammenhang mit meinem Problem stehen, und wahrscheinlich 5 oder mehr Seiten, nur weil ich gegoogelt habe. Ich verstehe es einfach nicht.

Ich versuche, einen jqueryui-Dialog aufzurufen, nachdem ein Benutzer ein Formular mit der Aufschrift "Registrierung übermittelt" ausgefüllt und dann auf eine andere Seite umgeleitet hat. Ich kann jedoch kein Javascript zum Laufen bringen, nicht einmal eine einzige Warnung.

Hier ist mein Update-Bereich:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upForm" runat="server" 
    UpdateMode="Conditional" ChildrenAsTriggers="False">
    <ContentTemplate>
               'Rest of form'
         <asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 
              <p>Did register Pass? <%= registrationComplete %></p>
    </ContentTemplate>
</asp:UpdatePanel>

Die JQuery, die ich ausführen möchte: (Im Moment sitzt diese im Kopf des Markups, wobei autoOpen auf false gesetzt ist.)

<script type="text/javascript"> 
function pageLoad() {

    $('#registerComplete').dialog({
        autoOpen: true,
        width: 270,
        resizable: false,
        modal: true,
        draggable: false,
        buttons: {
          "Ok": function() {
          window.location.href = "someUrl";
        }
        }
    });

}
     </script>

Endlich mein Code dahinter: (Alle Dinge auskommentiert, die ich ausprobiert habe)

Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSubmit.Click     
      'Dim sbScript As New StringBuilder()'
           registrationComplete = True
            registrationUpdatePanel.Update()

            'sbScript.Append("<script language='JavaScript' type='text/javascript'>" + ControlChars.Lf)'
            'sbScript.Append("<!--" + ControlChars.Lf)'
            'sbScript.Append("window.location.reload()" + ControlChars.Lf)'
            'sbScript.Append("// -->" + ControlChars.Lf)'
            'sbScript.Append("</")'
            'sbScript.Append("script>" + ControlChars.Lf)'

            'ScriptManager.RegisterClientScriptBlock(Me.Page, Me.GetType(), "AutoPostBack", sbScript.ToString(), False)'
            'ClientScript.RegisterStartupScript("AutoPostBackScript", sbScript.ToString())'
                            'Response.Write("<script type='text/javascript'>alert('Test')</script>")'
            'Response.Write("<script>windows.location.reload()</script>")'
End Sub

Ich habe es versucht

Variablen von Server zu Client über Inline <% =%> im Javascript-Block des Head-Tags übergeben.

Einfügen des gleichen Codes in ein Skript
tag im updatePanel.

Versucht, @ zu verwend
RegisterClientScriptBlock und
RegisterStartUpScript

Nur eine Response.Write mit dem darin geschriebenen Script-Tag ausführen.

Verschiedene Kombinationen aus dem Einfügen des gesamten Codes jquery.dialog in das Skript registerstartup ausprobiert, oder einfach
Versuch, das autoOpen @ zu ände
property oder einfach "open" auf @ aufruf
es

Ich kann nicht einmal eine einfache Warnmeldung erhalten, um mit einer dieser Meldungen zu arbeiten, also mache ich etwas falsch, aber ich weiß einfach nicht, was es ist.

Hier ist was ich weiß:

Die JQuery wird auch bei asynchronen Postbacks ordnungsgemäß gebunden, da der Div-Container, der das Dialogfeld darstellt, immer unsichtbar ist. Ich habe hier einen ähnlichen Post gesehen, der besagt, dass dies ein Problem verursacht hat. Dies ist hier nicht der Fall.

Using page_load anstelle von
document.ready da soll das sowohl async als auch normal laufen
postbacks, das ist also nicht das Problem.

Das Update-Fenster wird korrekt aktualisiert, da<p>Did register Pass? <%= registrationComplete %></p> wird nach dem Absenden des Formulars auf true aktualisiert.

So wie kann ich das zum Laufen bringen? Alles, was ich möchte, ist -> Klicken Sie in einem Update-Bereich auf die Schaltfläche "Senden" -> Führen Sie den serverseitigen Code aus, um das Formular zu validieren und in die Datenbank einzufüge

Antworten auf die Frage(4)

Ihre Antwort auf die Frage