Gewusst wie: Dynamisches Hinzufügen von Clientskripts zu ASP.NET-Webseiten

Aktualisiert: November 2007

Mithilfe von Servercode können Sie einer Seite Clientskript hinzufügen. Die Erstellung von Clientskript in Servercode ist sinnvoll, wenn der Inhalt des Clientskripts von Informationen abhängt, die bis zur Laufzeit nicht verfügbar sind. Das dynamische Hinzufügen von Clientskript zu der Seite ist auch nützlich, wenn Sie möchten, dass Clientskript in den folgenden Situationen ausgeführt werden soll:

So fügen Sie einer ASP.NET-Webseite dynamisch Clientskript hinzu

  • Rufen Sie im Servercode eine der Methoden auf, die in der folgenden Tabelle aufgelistet sind.

    Methode

    Beschreibung

    RegisterClientScriptBlock

    Fügt an den Anfang der Seite einen Skriptblock hinzu. Sie erstellen das Skript als Zeichenfolge und übergeben es dann an die Methode, die es der Seite hinzufügt. Sie können diese Methode verwenden, um jedes Skript in die Seite einzufügen. Beachten Sie, dass das Skript möglicherweise schon in der Seite gerendert werden könnte, noch bevor alle Elemente fertiggestellt sind. Deswegen können Sie unter Umständen vom Skript aus nicht auf alle Elemente auf der Seite verweisen.

    RegisterClientScriptInclude

    Ähnlich der RegisterClientScriptBlock-Methode, fügt aber einen Skriptblock hinzu, der auf eine externe JS-Datei verweist. Die Includedatei wird vor jedem anderen dynamisch hinzugefügten Skript hinzugefügt. Deshalb können Sie unter Umständen auf einige Elemente auf der Seite nicht verweisen.

    RegisterStartupScript

    Fügt der Seite einen Skriptblock hinzu, der ausgeführt wird, wenn die Seite das Laden beendet hat, aber noch bevor das onload-Ereignis der Seite ausgelöst wird. Das Skript ist in der Regel nicht als Ereignishandler oder Funktion erstellt; es enthält im Allgemeinen nur die Anweisungen, die Sie nur einmal ausführen möchten.

    RegisterOnSubmitStatement

    Fügt Skript hinzu, das als Reaktion auf das onsubmit-Ereignis der Seite ausgeführt wird. Das Skript wird ausgeführt, bevor die Seite übermittelt wird, und es gibt Ihnen eine Gelegenheit, die Übergabe abzubrechen.

    Das folgende Codebeispiel zeigt Ihnen, wie einer Seite Clientskript hinzugefügt wird, der ausgeführt wird, wenn der Benutzer auf eine Schaltfläche klickt, die die Seite zurück zum Server sendet. Das Clientskript zeigt ein Popupfenster an, das den Benutzer auffordert, das Postback zu bestätigen.

    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs)
        Dim scriptText As String
        scriptText = "return confirm('Do you want to submit the page?')"
        ClientScript.RegisterOnSubmitStatement(Me.GetType(), _
            "ConfirmSubmit", scriptText)
    End Sub
    
protected void Page_Load(Object sender, EventArgs e)
{
    String scriptText = 
        "return confirm('Do you want to submit the page?')";
    ClientScript.RegisterOnSubmitStatement(this.GetType(), 
        "ConfirmSubmit", scriptText);
}

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von Clientskriptereignissen zu ASP.NET-Webserversteuerelementen

Konzepte

Clientskript in ASP.NET-Webseiten

Programmgesteuertes Implementieren von Clientrückrufen ohne Postbacks in ASP.NET-Webseiten