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:
Wenn die Seite mit dem Laden fertig ist.
Wenn Benutzer die Seite übermitteln.
Hinweis: Sie können auch Clientereignisse, z. B. onmouseover und onkeyup, zu einzelnen Steuerelementen hinzufügen. Ausführliche Informationen finden Sie unter Gewusst wie: Hinzufügen von Clientskriptereignissen zu ASP.NET-Webserversteuerelementen.
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
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.
Ä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.
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.
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