Definisce i metodi per la gestione di script client nelle applicazioni Web.
System.Web.UI.ClientScriptManager
Spazio dei nomi: System.Web.UI
Assembly: System.Web (in System.Web.dll)
Public NotInheritable Class ClientScriptManager
public sealed class ClientScriptManager
public ref class ClientScriptManager sealed
[<Sealed>] type ClientScriptManager = class end
Il tipo ClientScriptManager espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
Equals(Object) | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
GetCallbackEventReference(Control, String, String, String) | Ottiene un riferimento a una funzione client che, quando richiamata, avvia un callback client a un evento server. La funzione client per questo metodo di overload include un controllo, un argomento, uno script client e un contesto specificati. |
|
GetCallbackEventReference(Control, String, String, String, Boolean) | Ottiene un riferimento a una funzione client che, quando richiamata, avvia un callback client agli eventi server. La funzione client per questo metodo di overload include un controllo, un argomento, uno script client, un contesto e un valore Boolean specificati. |
|
GetCallbackEventReference(Control, String, String, String, String, Boolean) | Ottiene un riferimento a una funzione client che, quando richiamata, avvia un callback client agli eventi server. La funzione client per questo metodo di overload include un controllo, un argomento, uno script client, un contesto, un gestore errori e un valore Boolean specificati. |
|
GetCallbackEventReference(String, String, String, String, String, Boolean) | Ottiene un riferimento a una funzione client che, quando richiamata, avvia un callback client agli eventi server. La funzione client per questo metodo di overload include una destinazione, un argomento, uno script client, un contesto, un gestore errori e un valore Boolean specificati. |
|
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) |
|
GetPostBackClientHyperlink(Control, String) | Ottiene un riferimento, all'inizio del quale viene aggiunto javascript:, utilizzabile in un evento client per eseguire il postback nel server per il controllo specificato e con gli argomenti dell'evento specificati. |
|
GetPostBackClientHyperlink(Control, String, Boolean) | Ottiene un riferimento, all'inizio del quale viene aggiunto javascript:, utilizzabile in un evento client per eseguire il postback nel server per il controllo specificato con gli argomenti dell'evento specificati e un valore booleano che indica se registrare o meno il postback per la convalida dell'evento. |
|
GetPostBackEventReference(PostBackOptions) | Restituisce una stringa utilizzabile in un evento client per causare il postback nel server. La stringa del riferimento è definita dall'istanza PostBackOptions specificata. |
|
GetPostBackEventReference(Control, String) | Restituisce una stringa utilizzabile in un evento client per causare il postback nel server. La stringa del riferimento è definita dal controllo specificato che gestisce il postback e da un argomento stringa contenente informazioni aggiuntive sull'evento. |
|
GetPostBackEventReference(PostBackOptions, Boolean) | Restituisce una stringa utilizzabile in un evento client per causare il postback nel server. La stringa di riferimento è definita dall'oggetto PostBackOptions specificato. Facoltativamente, registra un riferimento all'evento per la convalida. |
|
GetPostBackEventReference(Control, String, Boolean) | Restituisce una stringa utilizzabile in un evento client per causare il postback nel server. La stringa del riferimento è definita dal controllo specificato che gestisce il postback e da un argomento stringa contenente informazioni aggiuntive sull'evento. Facoltativamente, registra un riferimento all'evento per la convalida. |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
GetWebResourceUrl | Ottiene un riferimento URL a una risorsa in un assembly. |
|
IsClientScriptBlockRegistered(String) | Determina se il blocco di script client è stato registrato con l'oggetto Page utilizzando la chiave specificata. |
|
IsClientScriptBlockRegistered(Type, String) | Determina se il blocco di script client è stato registrato con l'oggetto Page utilizzando una chiave e un tipo. |
|
IsClientScriptIncludeRegistered(String) | Determina se l'inclusione di script client è stata registrata con l'oggetto Page utilizzando la chiave specificata. |
|
IsClientScriptIncludeRegistered(Type, String) | Determina se l'inclusione di script client è stata registrata con l'oggetto Page utilizzando una chiave e un tipo. |
|
IsOnSubmitStatementRegistered(String) | Determina se l'istruzione OnSubmit è stata registrata con l'oggetto Page utilizzando la chiave specificata. |
|
IsOnSubmitStatementRegistered(Type, String) | Determina se l'istruzione OnSubmit è stata registrata con l'oggetto Page utilizzando la chiave e il tipo specificati. |
|
IsStartupScriptRegistered(String) | Determina se lo script di avvio è stato registrato con l'oggetto Page utilizzando la chiave specificata. |
|
IsStartupScriptRegistered(Type, String) | Determina se lo script di avvio è stato registrato con l'oggetto Page utilizzando la chiave e il tipo specificati. |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
|
RegisterArrayDeclaration | Registra una dichiarazione di matrice JavaScript con l'oggetto Page utilizzando un nome e un valore di matrice. |
|
RegisterClientScriptBlock(Type, String, String) | Registra lo script client con l'oggetto Page utilizzando un tipo, una chiave e un valore letterale di script. |
|
RegisterClientScriptBlock(Type, String, String, Boolean) | Registra lo script client con l'oggetto Page utilizzando un tipo, una chiave, un valore letterale di script e un valore Boolean che indica se aggiungere tag script. |
|
RegisterClientScriptInclude(String, String) | Registra lo script client con l'oggetto Page utilizzando una chiave e un URL che consente allo script di essere chiamato dal client. |
|
RegisterClientScriptInclude(Type, String, String) | Registra l'inclusione di script client con l'oggetto Page utilizzando un tipo, una chiave e un URL. |
|
RegisterClientScriptResource | Registra la risorsa di script client con l'oggetto Page utilizzando un tipo e un nome di risorsa. |
|
RegisterExpandoAttribute(String, String, String) | Registra una coppia nome/valore come attributo personalizzato (expando) del controllo specificato, dati un ID di controllo, un nome attributo e un valore di attributo. |
|
RegisterExpandoAttribute(String, String, String, Boolean) | Registra una coppia nome/valore come attributo personalizzato (expando) del controllo specificato, dati un ID di controllo, un nome di attributo, un valore di attributo e un valore Boolean che indica se codificare il valore dell'attributo. |
|
RegisterForEventValidation(PostBackOptions) | Registra un riferimento a un evento per la convalida con PostBackOptions. |
|
RegisterForEventValidation(String) | Registra un riferimento a un evento per la convalida con un ID di controllo univoco che rappresenta il controllo client che genera l'evento. |
|
RegisterForEventValidation(String, String) | Registra un riferimento a un evento per la convalida con un ID di controllo univoco e argomenti di evento che rappresentano il controllo client che genera l'evento. |
|
RegisterHiddenField | Registra un valore nascosto con l'oggetto Page. |
|
RegisterOnSubmitStatement | Registra un'istruzione OnSubmit con l'oggetto Page utilizzando un tipo, una chiave e un valore letterale di script. L'istruzione viene eseguita quando viene inviato il controllo HtmlForm. |
|
RegisterStartupScript(Type, String, String) | Registra lo script di avvio con l'oggetto Page utilizzando un tipo, una chiave e un valore letterale di script. |
|
RegisterStartupScript(Type, String, String, Boolean) | Registra lo script di avvio con l'oggetto Page utilizzando un tipo, una chiave, un valore letterale di script e un valore Boolean che indica se aggiungere tag script. |
|
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
|
ValidateEvent(String) | Convalida un evento client registrato per la convalida degli eventi utilizzando il metodo RegisterForEventValidation. |
|
ValidateEvent(String, String) | Convalida un evento client registrato per la convalida utilizzando il metodo RegisterForEventValidation. |
La classe ClientScriptManager consente di gestire script client e aggiungerli ad applicazioni Web. È possibile ottenere un riferimento alla classe ClientScriptManager dalla proprietà ClientScript dell'oggetto Page.
È possibile aggiungere uno script client a una pagina Web in modo dichiarativo, includendo lo script nel markup HTML della pagina. In alcune situazioni è tuttavia necessario aggiungere in modo dinamico lo script client. Per eseguire tale operazione, utilizzare il metodo RegisterClientScriptBlock, il metodo RegisterClientScriptInclude, il metodo RegisterStartupScript oppure il metodo RegisterOnSubmitStatement, in base al momento e al modo in cui si desidera aggiungere lo script. Per ulteriori informazioni, vedere Procedura: aggiungere dinamicamente script client alle pagine Web ASP.NET.
La classe ClientScriptManager identifica in modo univoco gli script tramite una chiave String e un tipo Type. Gli script con la stessa chiave e lo stesso tipo sono considerati duplicati. L'utilizzo del tipo dello script contribuisce a evitare la confusione tra tipi simili di script associati a diversi controlli utente eventualmente in uso nella pagina.
È possibile utilizzare la classe ClientScriptManager per richiamare i callback client nei casi in cui risulta preferibile eseguire codice server dal client senza eseguire un postback. Tale procedura viene definita esecuzione di un callback fuori banda al server. In un callback client una funzione di script client invia una richiesta asincrona a una pagina Web ASP.NET. Per elaborare il callback, tale pagina esegue una versione modificata del proprio ciclo di vita normale. Utilizzare il metodo GetCallbackEventReference per ottenere un riferimento a una funzione client che, quando richiamata, avvia un callback client per un evento server. Per ulteriori informazioni, vedere Implementazione di callback client a livello di codice senza postback nelle pagine Web ASP.NET.
Nota
|
|---|
|
Gli script di callback non possono essere utilizzati nelle versioni meno recenti dei browser che non supportano il modello DOM (Document Object Model) e richiedono l'attivazione di ECMAScript sul client. Per verificare se il browser supporta i callback, utilizzare la proprietà SupportsCallback, disponibile tramite la proprietà Browser dell'oggetto Request intrinseco di ASP.NET. |
Utilizzare il metodo GetPostBackEventReference e quindi il metodo GetPostBackClientHyperlink per definire un evento postback del client. Tali metodi, quando richiamati, consentono di attivare le funzioni di script client, per fare in modo che il postback alla pagina venga eseguito dal server. Un evento di postback client si differenzia da un callback client, poiché per elaborare l'evento di postback client la pagina Web completa un ciclo di vita normale.
Nota
|
|---|
|
Se si utilizza un controllo Button e la proprietà UseSubmitBehavior è impostata su false, sarà possibile utilizzare il metodo GetPostBackEventReference per restituire l'evento di postback client per il controllo Button. |
Per eseguire lo script client, è possibile utilizzare la proprietà OnClientClick del controllo Button, il controllo ImageButton e il controllo LinkButton.
Nell'esempio di codice riportato di seguito viene illustrato l'utilizzo del metodo RegisterClientScriptBlock della classe ClientScriptManager. Nella pagina vengono definiti due script client, ovvero PopupScript, che consente di visualizzare un messaggio di avviso al caricamento della pagina, e ButtonClickScript, che consente di definire un gestore client per l'evento onClick di un pulsante 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>
<%@ 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>
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Nota