ClientScriptManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert Methoden zum Verwalten von Clientskripts in Webanwendungen.
public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
- Vererbung
-
ClientScriptManager
Beispiele
Im folgenden Codebeispiel wird die Verwendung der RegisterClientScriptBlock -Methode der ClientScriptManager -Klasse veranschaulicht. Auf der Seite werden zwei Clientskripts definiert: PopupScript
, die eine Warnmeldung anzeigt, wenn die Seite geladen wird, und ButtonClickScript
, die einen Clienthandler für das onClick
Ereignis einer HTML-Schaltfläche definiert.
<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Page_Load(Object sender, EventArgs e)
{
// Define the name and type of the client scripts on the page.
String csname1 = "PopupScript";
String csname2 = "ButtonClickScript";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
String cstext1 = "alert('Hello World');";
cs.RegisterStartupScript(cstype, csname1, cstext1, true);
}
// Check to see if the client script is already registered.
if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
{
StringBuilder cstext2 = new StringBuilder();
cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
cstext2.Append("Form1.Message.value='Text from client script.'} </");
cstext2.Append("script>");
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1"
runat="server">
<input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Define the name and type of the client scripts on the page.
Dim csname1 As String = "PopupScript"
Dim csname2 As String = "ButtonClickScript"
Dim cstype As Type = Me.GetType()
' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript
' Check to see if the startup script is already registered.
If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
Dim cstext1 As String = "alert('Hello World');"
cs.RegisterStartupScript(cstype, csname1, cstext1, True)
End If
' Check to see if the client script is already registered.
If (Not cs.IsClientScriptBlockRegistered(cstype, csname2)) Then
Dim cstext2 As New StringBuilder()
cstext2.Append("<script type=""text/javascript""> function DoClick() {")
cstext2.Append("Form1.Message.value='Text from client script.'} </")
cstext2.Append("script>")
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1"
runat="server">
<input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
Hinweise
Die ClientScriptManager -Klasse wird verwendet, um Clientskripts zu verwalten und Webanwendungen hinzuzufügen. Sie können einen Verweis auf die ClientScriptManager -Klasse aus der ClientScript -Eigenschaft des Page -Objekts abrufen.
Sie können einer Webseite ein Clientskript deklarativ hinzufügen, indem Sie das Skript in das HTML-Markup der Seite einschließen. Es gibt jedoch Situationen, in denen das dynamische Hinzufügen von Clientskripts erforderlich ist. Um ein Skript dynamisch hinzuzufügen, verwenden Sie die RegisterClientScriptBlock -Methode, - RegisterClientScriptInclude Methode, - RegisterStartupScript Methode oder - RegisterOnSubmitStatement Methode, je nachdem, wann und wie Sie das Skript hinzufügen möchten. Weitere Informationen finden Sie unter Vorgehensweise: Dynamisches Hinzufügen von Clientskripts zu ASP.NET Webseiten.
Die ClientScriptManager -Klasse identifiziert Skripts eindeutig anhand eines Schlüssels String und eines Type. Skripts mit demselben Schlüssel und Typ gelten als Duplikate. Die Verwendung des Skripttyps hilft, ähnliche Skripts von verschiedenen Benutzersteuerelementen, die möglicherweise auf der Seite verwendet werden, zu verwechseln.
Die ClientScriptManager -Klasse kann verwendet werden, um Clientrückrufe in Situationen aufzurufen, in denen es wünschenswert ist, Servercode vom Client auszuführen, ohne ein Postback durchzuführen. Dies wird als Ausführen eines Out-of-Band-Rückrufs für den Server bezeichnet. Bei einem Clientrückruf sendet eine Clientskriptfunktion eine asynchrone Anforderung an eine ASP.NET Webseite. Die Webseite führt eine geänderte Version ihres normalen Lebenszyklus aus, um den Rückruf zu verarbeiten. Verwenden Sie die GetCallbackEventReference -Methode, um einen Verweis auf eine Clientfunktion abzurufen, die beim Aufrufen einen Clientrückruf für ein Serverereignis initiiert. Weitere Informationen finden Sie unter Implementieren von Clientrückrufen ohne Postbacks.
Hinweis
Skriptrückrufe funktionieren nicht in älteren Browsern, die das Document Object Model (DOM) nicht unterstützen, und erfordern, dass ECMAScript auf dem Client aktiviert ist. Um zu überprüfen, ob der Browser Rückrufe unterstützt, verwenden Sie die SupportsCallback -Eigenschaft, auf die über die Browser Eigenschaft des ASP.NET systeminternen Request Objekts zugegriffen werden kann.
Verwenden Sie die GetPostBackEventReference -Methode und die GetPostBackClientHyperlink -Methode, um ein Client-Postbackereignis zu definieren. Diese Methoden ermöglichen Clientskriptfunktionen, wenn sie aufgerufen werden, dazu zu führen, dass der Server eine Post zur Seite zurückgibt. Ein Client postback-Ereignis unterscheidet sich von einem Clientrückruf dadurch, dass die Webseite einen normalen Lebenszyklus zum Verarbeiten des Client-Postbackereignisses abschließt.
Hinweis
Wenn Sie ein Button -Steuerelement verwenden und die UseSubmitBehavior -Eigenschaft auf false
festgelegt ist, können Sie die GetPostBackEventReference -Methode verwenden, um das Client-Postbackereignis für das Button Steuerelement zurückzugeben.
Die OnClientClick -Eigenschaft des Steuerelements Button , ImageButton -Steuerelements und LinkButton -Steuerelements kann zum Ausführen von Clientskripts verwendet werden.
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetCallbackEventReference(Control, String, String, String) |
Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für ein Serverereignis initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript sowie einen Kontext ein. |
GetCallbackEventReference(Control, String, String, String, Boolean) |
Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript, einen Kontext sowie einen booleschen Wert ein. |
GetCallbackEventReference(Control, String, String, String, String, Boolean) |
Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Steuerelement, ein Argument, ein Clientskript, einen Kontext, einen Fehlerhandler sowie einen booleschen Wert ein. |
GetCallbackEventReference(String, String, String, String, String, Boolean) |
Ruft einen Verweis auf eine Clientfunktion ab, die beim Aufruf einen Clientrückruf für Serverereignisse initiiert. Die Clientfunktion für diese überladene Methode schließt ein angegebenes Ziel, ein Argument, ein Clientskript, einen Kontext, einen Fehlerhandler sowie einen booleschen Wert ein. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetPostBackClientHyperlink(Control, String) |
Ruft einen Verweis ab, an dessen Beginn |
GetPostBackClientHyperlink(Control, String, Boolean) |
Ruft einen Verweis ab, an dessen Beginn |
GetPostBackEventReference(Control, String) |
Gibt eine Zeichenfolge zurück, die in einem Clientereignis zum Auslösen eines Postbacks an den Server verwendet werden kann. Die Verweiszeichenfolge wird durch das angegebene Steuerelement definiert, das das Postback behandelt, und einem Zeichenfolgenargument mit weiteren Ereignisinformationen. |
GetPostBackEventReference(Control, String, Boolean) |
Gibt eine Zeichenfolge zurück, die in einem Clientereignis zum Auslösen eines Postbacks an den Server verwendet werden kann. Die Verweiszeichenfolge wird durch das angegebene Steuerelement definiert, das das Postback behandelt, und einem Zeichenfolgenargument mit weiteren Ereignisinformationen. Registriert den Ereignisverweis optional für die Validierung. |
GetPostBackEventReference(PostBackOptions) |
Gibt eine Zeichenfolge zurück, die in einem Clientereignis zum Auslösen eines Postbacks an den Server verwendet werden kann. Die Verweiszeichenfolge wird von der angegebenen PostBackOptions-Instanz definiert. |
GetPostBackEventReference(PostBackOptions, Boolean) |
Gibt eine Zeichenfolge zurück, die in einem Clientereignis zum Auslösen eines Postbacks an den Server verwendet werden kann. Die Verweiszeichenfolge wird vom angegebenen PostBackOptions-Objekt definiert. Registriert den Ereignisverweis optional für die Validierung. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetWebResourceUrl(Type, String) |
Ruft einen URL-Verweis auf eine Ressource in einer Assembly ab. |
IsClientScriptBlockRegistered(String) |
Bestimmt unter Verwendung des angegebenen Schlüssels, ob der Clientskriptblock für das Page-Objekt registriert ist. |
IsClientScriptBlockRegistered(Type, String) |
Bestimmt unter Verwendung des Schlüssels und des Typs, ob der Clientskriptblock für das Page-Objekt registriert ist. |
IsClientScriptIncludeRegistered(String) |
Bestimmt unter Verwendung des angegebenen Schlüssels, ob der Clientskriptinclude für das Page-Objekt registriert ist. |
IsClientScriptIncludeRegistered(Type, String) |
Bestimmt unter Verwendung des Schlüssels und des Typs, ob der Clientskriptinclude für das Page-Objekt registriert ist. |
IsOnSubmitStatementRegistered(String) |
Bestimmt anhand des angegebenen Schlüssels, ob die OnSubmit-Anweisung für das Page-Objekt registriert ist. |
IsOnSubmitStatementRegistered(Type, String) |
Bestimmt unter Verwendung des angegebenen Schlüssels und Typs, ob die OnSubmit-Anweisung für das Page-Objekt registriert ist. |
IsStartupScriptRegistered(String) |
Bestimmt unter Verwendung des angegebenen Schlüssels, ob das Startskript für das Page-Objekt registriert ist. |
IsStartupScriptRegistered(Type, String) |
Bestimmt unter Verwendung des angegebenen Schlüssels und Typs, ob das Startskript für das Page-Objekt registriert ist. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
RegisterArrayDeclaration(String, String) |
Registriert unter Verwendung eines Arraynamens und eines Arraytyps eine JavaScript-Arraydeklaration für ein Page-Objekt. |
RegisterClientScriptBlock(Type, String, String) |
Registriert unter Verwendung eines Typs, eines Schlüssels und eines Skriptliterals das Clientskript für das Page-Objekt. |
RegisterClientScriptBlock(Type, String, String, Boolean) |
Registriert unter Verwendung eines Typs, eines Schlüssels, eines Skriptliterals sowie eines booleschen Werts, der angibt, ob Skripttags hinzugefügt werden sollen, das Clientskript für das Page-Objekt. |
RegisterClientScriptInclude(String, String) |
Registriert das Clientskript beim Page-Objekt mit einem Schlüssel und einer URL, wodurch das Skript vom Client aufgerufen werden kann. |
RegisterClientScriptInclude(Type, String, String) |
Registriert unter Verwendung eines Typs, eines Schlüssels sowie einer URL den Clientskriptinclude für das Page-Objekt. |
RegisterClientScriptResource(Type, String) |
Registriert die Clientskriptressource unter Verwendung eines Typ und eines Ressourcennamens für das Page-Objekt. |
RegisterExpandoAttribute(String, String, String) |
Registriert ein Name-Wert-Paar mithilfe einer bestimmten Steuerelement-ID, eines Attributnamens und eines Attributwerts als benutzerdefiniertes Attribut (Expando-Attribut) des angegebenen Steuerelements. |
RegisterExpandoAttribute(String, String, String, Boolean) |
Registriert ein Name-Wert-Paar mithilfe einer bestimmten Steuerelement-ID, eines Attributnamens und eines Attributwerts sowie eines booleschen Werts (der angibt, ob der Attributwert codiert werden soll) als benutzerdefiniertes Attribut (Expando-Attribut) des angegebenen Steuerelements. |
RegisterForEventValidation(PostBackOptions) |
Registriert einen Ereignisverweis für die Validierung bei PostBackOptions. |
RegisterForEventValidation(String) |
Registriert einen Ereignisverweis für die Validierung bei einer eindeutigen Steuerelement-ID, die das Clientsteuerelement darstellt, das das Ereignis generiert. |
RegisterForEventValidation(String, String) |
Registriert einen Ereignisverweis für die Validierung bei einer eindeutigen Steuerelement-ID und Ereignisargumenten, die das Clientsteuerelement darstellen, das das Ereignis generiert. |
RegisterHiddenField(String, String) |
Registriert einen ausgeblendeten Wert für das Page-Objekt. |
RegisterOnSubmitStatement(Type, String, String) |
Registriert unter Verwendung eines Typs, eines Schlüssels sowie eines Skriptliterals eine OnSubmit-Anweisung für das Page-Objekt. Die Anweisung wird beim Übermitteln des HtmlForm ausgeführt. |
RegisterStartupScript(Type, String, String) |
Registriert unter Verwendung eines Typs, eines Schlüssels und eines Skriptliterals das Startskript für das Page-Objekt. |
RegisterStartupScript(Type, String, String, Boolean) |
Registriert unter Verwendung eines Typs, eines Schlüssels, eines Skriptliterals sowie eines booleschen Werts, der angibt, ob Skripttags hinzugefügt werden sollen, das Startskript für das Page-Objekt. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
ValidateEvent(String) |
Validiert ein Clientereignis, das mit der RegisterForEventValidation(String)-Methode für die Ereignisvalidierung registriert wurde. |
ValidateEvent(String, String) |
Validiert ein Clientereignis, das mit der RegisterForEventValidation(String, String)-Methode für die Ereignisvalidierung registriert wurde. |