Classe ClientScriptManager (System.Web.UI)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe ClientScriptManager
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Definisce i metodi per la gestione di script client nelle applicazioni Web.

Gerarchia di ereditarietà

System.Object
  System.Web.UI.ClientScriptManager

Spazio dei nomi:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Sintassi

Visual Basic
Public NotInheritable Class ClientScriptManager
C#
public sealed class ClientScriptManager
Visual C++
public ref class ClientScriptManager sealed
F#
[<Sealed>]
type ClientScriptManager =  class end

Il tipo ClientScriptManager espone i seguenti membri.

Metodi

  Nome Descrizione
Metodo pubblico Equals(Object) Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto 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)
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico GetWebResourceUrl Ottiene un riferimento URL a una risorsa in un assembly.
Metodo pubblico IsClientScriptBlockRegistered(String) Determina se il blocco di script client è stato registrato con l'oggetto Page utilizzando la chiave specificata.
Metodo pubblico IsClientScriptBlockRegistered(Type, String) Determina se il blocco di script client è stato registrato con l'oggetto Page utilizzando una chiave e un tipo.
Metodo pubblico IsClientScriptIncludeRegistered(String) Determina se l'inclusione di script client è stata registrata con l'oggetto Page utilizzando la chiave specificata.
Metodo pubblico IsClientScriptIncludeRegistered(Type, String) Determina se l'inclusione di script client è stata registrata con l'oggetto Page utilizzando una chiave e un tipo.
Metodo pubblico IsOnSubmitStatementRegistered(String) Determina se l'istruzione OnSubmit è stata registrata con l'oggetto Page utilizzando la chiave specificata.
Metodo pubblico IsOnSubmitStatementRegistered(Type, String) Determina se l'istruzione OnSubmit è stata registrata con l'oggetto Page utilizzando la chiave e il tipo specificati.
Metodo pubblico IsStartupScriptRegistered(String) Determina se lo script di avvio è stato registrato con l'oggetto Page utilizzando la chiave specificata.
Metodo pubblico IsStartupScriptRegistered(Type, String) Determina se lo script di avvio è stato registrato con l'oggetto Page utilizzando la chiave e il tipo specificati.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico RegisterArrayDeclaration Registra una dichiarazione di matrice JavaScript con l'oggetto Page utilizzando un nome e un valore di matrice.
Metodo pubblico RegisterClientScriptBlock(Type, String, String) Registra lo script client con l'oggetto Page utilizzando un tipo, una chiave e un valore letterale di script.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico RegisterClientScriptInclude(Type, String, String) Registra l'inclusione di script client con l'oggetto Page utilizzando un tipo, una chiave e un URL.
Metodo pubblico RegisterClientScriptResource Registra la risorsa di script client con l'oggetto Page utilizzando un tipo e un nome di risorsa.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico RegisterForEventValidation(PostBackOptions) Registra un riferimento a un evento per la convalida con PostBackOptions.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico RegisterHiddenField Registra un valore nascosto con l'oggetto Page.
Metodo pubblico 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.
Metodo pubblico RegisterStartupScript(Type, String, String) Registra lo script di avvio con l'oggetto Page utilizzando un tipo, una chiave e un valore letterale di script.
Metodo pubblico 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.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico ValidateEvent(String) Convalida un evento client registrato per la convalida degli eventi utilizzando il metodo RegisterForEventValidation.
Metodo pubblico ValidateEvent(String, String) Convalida un evento client registrato per la convalida utilizzando il metodo RegisterForEventValidation.
In alto
Note

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 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 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.

Esempi

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.

Visual Basic

<%@ 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>


C#

<%@ 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>


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0
Piattaforme

Windows 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.
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche

Riferimenti

Altre risorse