Condividi tramite


ClientScriptManager Classe

Definizione

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

public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
Ereditarietà
ClientScriptManager

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del RegisterClientScriptBlock metodo della ClientScriptManager classe . Nella pagina vengono definiti due script client: PopupScript, che visualizza un messaggio di avviso quando viene caricata la pagina e ButtonClickScript, che definisce un gestore client per l'evento di onClick un pulsante 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>
<%@ 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>

Commenti

La ClientScriptManager classe viene usata per gestire gli script client e aggiungerli alle applicazioni Web. È possibile ottenere un riferimento alla ClientScriptManager classe dalla ClientScript proprietà dell'oggetto Page .

È possibile aggiungere uno script client a una pagina Web in modo dichiarativo includendo lo script nel markup HTML della pagina. Tuttavia, esistono situazioni in cui è necessario aggiungere script client in modo dinamico. Per aggiungere uno script in modo dinamico, usare il RegisterClientScriptBlock metodo , il RegisterClientScriptInclude metodo , il RegisterStartupScript metodo o il RegisterOnSubmitStatement metodo , a seconda di quando e come si vuole aggiungere lo script. Per altre informazioni, vedere Procedura: Aggiungere script client in modo dinamico a ASP.NET pagine Web.

La ClientScriptManager classe identifica in modo univoco gli script in base a una chiave String e a un oggetto Type. Gli script con la stessa chiave e tipo sono considerati duplicati. L'uso del tipo di script consente di evitare script simili da controlli utente diversi che potrebbero essere in uso nella pagina.

La ClientScriptManager classe può essere usata per richiamare i callback client in situazioni in cui è consigliabile eseguire il codice del server dal client senza eseguire un postback. Questa operazione viene definita come esecuzione di un callback fuori banda al server. In un callback client, una funzione script client invia una richiesta asincrona a una pagina Web ASP.NET. La pagina Web esegue una versione modificata del ciclo di vita normale per elaborare il callback. Utilizzare il GetCallbackEventReference metodo per ottenere un riferimento a una funzione client che, quando richiamata, avvia un callback client a un evento server. Per altre informazioni, vedere Implementazione di callback client senza postback.

Annotazioni

I callback di script non funzioneranno nei browser meno recenti che non supportano il modello DOM (Document Object Model) e richiedono che ECMAScript sia abilitato nel client. Per verificare se il browser supporta i callback, utilizzare la SupportsCallback proprietà , accessibile tramite la Browser proprietà dell'oggetto intrinseco Request ASP.NET.

Usare il GetPostBackEventReference metodo e il GetPostBackClientHyperlink metodo per definire un evento di postback client. Questi metodi consentono alle funzioni di script client, quando richiamate, di riportare il server alla pagina. Un evento di postback client è diverso da un callback client in quanto la pagina Web completa un normale ciclo di vita per elaborare l'evento di postback del client.

Annotazioni

Se si usa un Button controllo e la UseSubmitBehavior proprietà è impostata su false, è possibile utilizzare il GetPostBackEventReference metodo per restituire l'evento di postback client per il Button controllo .

La OnClientClick proprietà del controllo, ImageButton del controllo e LinkButton del Button controllo può essere utilizzata per eseguire lo script client.

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetCallbackEventReference(Control, String, String, String, Boolean)

Ottiene un riferimento a una funzione client che, quando richiamata, avvia una chiamata client agli eventi del server. La funzione client per questo metodo di overload include un controllo, un argomento, uno script client, un contesto e un valore booleano specificati.

GetCallbackEventReference(Control, String, String, String, String, Boolean)

Ottiene un riferimento a una funzione client che, quando richiamata, avvia una chiamata client agli eventi del 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 booleano specificato.

GetCallbackEventReference(Control, String, String, String)

Ottiene un riferimento a una funzione client che, quando richiamata, avvia una chiamata 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(String, String, String, String, String, Boolean)

Ottiene un riferimento a una funzione client che, quando richiamata, avvia una chiamata client agli eventi del 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 booleano specificati.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetPostBackClientHyperlink(Control, String, Boolean)

Ottiene un riferimento, con javascript: accodato all'inizio di esso, che può essere utilizzato in un evento client per eseguire il postback al server per il controllo specificato con gli argomenti dell'evento specificati e l'indicazione booleana se registrare il postback per la convalida degli eventi.

GetPostBackClientHyperlink(Control, String)

Ottiene un riferimento, con javascript: accodato all'inizio di esso, che può essere utilizzato in un evento client per eseguire il postback al server per il controllo specificato e con gli argomenti dell'evento specificati.

GetPostBackEventReference(Control, String, Boolean)

Restituisce una stringa da utilizzare in un evento client per causare il postback al server. La stringa di riferimento è definita dal controllo specificato che gestisce il postback e un argomento stringa di informazioni aggiuntive sull'evento. Facoltativamente, registra il riferimento all'evento per la convalida.

GetPostBackEventReference(Control, String)

Restituisce una stringa che può essere utilizzata in un evento client per causare il postback al server. La stringa di riferimento è definita dal controllo specificato che gestisce il postback e un argomento stringa di informazioni aggiuntive sull'evento.

GetPostBackEventReference(PostBackOptions, Boolean)

Restituisce una stringa che può essere utilizzata in un evento client per causare il postback al server. La stringa di riferimento è definita dall'oggetto specificato PostBackOptions . Facoltativamente, registra il riferimento all'evento per la convalida.

GetPostBackEventReference(PostBackOptions)

Restituisce una stringa che può essere utilizzata in un evento client per causare il postback al server. La stringa di riferimento è definita dall'istanza specificata PostBackOptions .

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetWebResourceUrl(Type, String)

Ottiene un riferimento URL a una risorsa in un assembly.

IsClientScriptBlockRegistered(String)

Determina se il blocco di script client viene registrato con l'oggetto Page utilizzando la chiave specificata.

IsClientScriptBlockRegistered(Type, String)

Determina se il blocco di script client viene registrato con l'oggetto Page utilizzando una chiave e un tipo.

IsClientScriptIncludeRegistered(String)

Determina se lo script client include è registrato con l'oggetto Page utilizzando la chiave specificata.

IsClientScriptIncludeRegistered(Type, String)

Determina se lo script client include è registrato con l'oggetto Page utilizzando una chiave e un tipo.

IsOnSubmitStatementRegistered(String)

Determina se l'istruzione OnSubmit è registrata con l'oggetto Page utilizzando la chiave specificata.

IsOnSubmitStatementRegistered(Type, String)

Determina se l'istruzione OnSubmit è registrata con l'oggetto Page utilizzando la chiave e il tipo specificati.

IsStartupScriptRegistered(String)

Determina se lo script di avvio viene registrato con l'oggetto Page utilizzando la chiave specificata.

IsStartupScriptRegistered(Type, String)

Determina se lo script di avvio viene registrato con l'oggetto utilizzando la chiave e il Page tipo specificati.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
RegisterArrayDeclaration(String, String)

Registra una dichiarazione di matrice JavaScript con l'oggetto Page usando un nome di matrice e un valore di matrice.

RegisterClientScriptBlock(Type, String, String, Boolean)

Registra lo script client con l'oggetto Page usando un tipo, una chiave, un valore letterale script e un valore booleano che indica se aggiungere tag di script.

RegisterClientScriptBlock(Type, String, String)

Registra lo script client con l'oggetto Page usando un tipo, una chiave e un valore letterale script.

RegisterClientScriptInclude(String, String)

Registra lo script client con l'oggetto Page usando una chiave e un URL, che consente di chiamare lo script dal client.

RegisterClientScriptInclude(Type, String, String)

Registra lo script client include con l'oggetto Page usando un tipo, una chiave e un URL.

RegisterClientScriptResource(Type, String)

Registra la risorsa script client con l'oggetto Page usando un tipo e un nome di risorsa.

RegisterExpandoAttribute(String, String, String, Boolean)

Registra una coppia nome/valore come attributo personalizzato (expando) del controllo specificato in base a un ID di controllo, un nome di attributo, un valore di attributo e un valore booleano che indica se codificare il valore dell'attributo.

RegisterExpandoAttribute(String, String, String)

Registra una coppia nome/valore come attributo personalizzato (expando) del controllo specificato in base a un ID di controllo, al nome dell'attributo e al valore dell'attributo.

RegisterForEventValidation(PostBackOptions)

Registra un riferimento a un evento per la convalida con PostBackOptions.

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.

RegisterForEventValidation(String)

Registra un riferimento all'evento per la convalida con un ID di controllo univoco che rappresenta il controllo client che genera l'evento.

RegisterHiddenField(String, String)

Registra un valore nascosto con l'oggetto Page .

RegisterOnSubmitStatement(Type, String, String)

Registra un'istruzione OnSubmit con l'oggetto Page usando un tipo, una chiave e un valore letterale di script. L'istruzione viene eseguita quando viene inviato .HtmlForm

RegisterStartupScript(Type, String, String, Boolean)

Registra lo script di avvio con l'oggetto Page usando un tipo, una chiave, un valore letterale dello script e un valore booleano che indica se aggiungere tag di script.

RegisterStartupScript(Type, String, String)

Registra lo script di avvio con l'oggetto Page usando un tipo, una chiave e un valore letterale di script.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
ValidateEvent(String, String)

Convalida un evento client registrato per la convalida degli eventi usando il RegisterForEventValidation(String, String) metodo .

ValidateEvent(String)

Convalida un evento client registrato per la convalida degli eventi usando il RegisterForEventValidation(String) metodo .

Si applica a

Vedi anche