ClientScriptManager Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce i metodi per la gestione di 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. Due script client vengono definiti nella pagina: PopupScript
, che visualizza un messaggio di avviso quando la pagina viene caricata 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 dichiarativamente includendo lo script nel markup HTML della pagina. Tuttavia, ci sono situazioni in cui è necessario aggiungere lo 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 aggiungere lo script. Per altre informazioni, vedere Procedura: Aggiungere script client dinamicamente a ASP.NET pagine Web.
La ClientScriptManager classe identifica in modo univoco gli script da una chiave String e da un Typeoggetto . Gli script con la stessa chiave e tipo vengono considerati duplicati. L'uso del tipo di script consente di evitare confusione di script simili da diversi controlli utente 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 esecuzione di un callback out-of-band nel 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 dei callback client senza postback.
Nota
I callback di script non funzioneranno nei browser meno recenti che non supportano il modello a oggetti document (DOM) e richiedono che ECMAScript sia abilitato nel client. Per verificare se il browser supporta i callback, usare la proprietà, accessibile tramite la SupportsCallbackBrowser proprietà dell'oggetto intrinseco Request ASP.NET.
Usare il metodo e il GetPostBackEventReferenceGetPostBackClientHyperlink metodo per definire un evento di postback client. Questi metodi abilitano le funzioni di script client, quando richiamate, per causare il postback del server alla pagina. Un evento di postback client è diverso da un callback client in cui la pagina Web completa un normale ciclo di vita per elaborare l'evento di postback del client.
Nota
Se si usa un Button controllo e la UseSubmitBehavior proprietà è impostata su false
, è possibile usare 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 usata per eseguire lo script client.
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (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 predefinita. (Ereditato da Object) |
GetPostBackClientHyperlink(Control, String) |
Ottiene un riferimento, all'inizio del quale viene aggiunto |
GetPostBackClientHyperlink(Control, String, Boolean) |
Ottiene un riferimento, all'inizio del quale viene aggiunto |
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(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. |
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(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. |
GetType() |
Ottiene l'oggetto 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 è 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() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
RegisterArrayDeclaration(String, String) |
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(Type, String) |
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(String, String) |
Registra un valore nascosto con l'oggetto Page. |
RegisterOnSubmitStatement(Type, String, String) |
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(String). |
ValidateEvent(String, String) |
Convalida un evento client registrato per la convalida degli eventi utilizzando il metodo RegisterForEventValidation(String, String). |