Valuta il contenuto e lascia un commento
Comprimi tutto/Espandi tutto Comprimi tutto
Questa pagina è specifica di
Microsoft Visual Studio 2008/.NET Framework 3.5

Sono disponibili anche altre versioni per quanto indicato di seguito:
Riferimento a .NET Framework
Classe ClientScriptManager

Aggiornamento: novembre 2007

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

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

Visual Basic - (Dichiarazione)
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class ClientScriptManager
Visual Basic (Utilizzo)
Dim instance As ClientScriptManager
C#
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class ClientScriptManager
Visual C++
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public ref class ClientScriptManager sealed
J#
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public final class ClientScriptManager
JScript
public final class ClientScriptManager

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.

TopicLocation
Esempio di callback client con implementazione di convalidaGenerazione di applicazioni Web ASP.NET
Esempio di callback client con implementazione di convalidaCompilazione di applicazioni Web ASP.NET in Visual Studio
Esempio di implementazione di callback client (C#)Generazione di applicazioni Web ASP.NET
Esempio di implementazione di callback client (C#)Compilazione di applicazioni Web ASP.NET in Visual Studio
Esempio di implementazione di callback client (Visual Basic)Generazione di applicazioni Web ASP.NET
Esempio di implementazione di callback client (Visual Basic)Compilazione di applicazioni Web ASP.NET in Visual Studio
Implementazione di callback client a livello di codice senza postback nelle pagine Web ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio
Implementazione di callback client senza postback nelle pagine Web ASP.NETGenerazione di applicazioni Web ASP.NET
Procedura: implementare callback in pagine Web ASP.NETGenerazione di applicazioni Web ASP.NET
Procedura: implementare callback in pagine Web ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio

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  >
  <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  >
  <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>
System..::.Object
  System.Web.UI..::.ClientScriptManager
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0
Contenuti della community   Che cos'è Contenuti della community?
Aggiungi nuovo contenuto RSS  Annotazioni
Processing
© 2009 Microsoft Corporation. Tutti i diritti riservati. Condizioni per l'utilizzo | Marchi | Informativa sulla privacy
Page view tracker