Compartilhar via


ClientScriptManager Classe

Definição

Define métodos para gerenciar scripts de cliente em aplicativos Web.

public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
Herança
ClientScriptManager

Exemplos

O exemplo de código a seguir demonstra o uso do RegisterClientScriptBlock método da ClientScriptManager classe. Dois scripts de cliente são definidos na página: PopupScript, que exibe uma mensagem de alerta quando a página é carregada e ButtonClickScript, que define um manipulador de cliente para o evento de onClick um botão 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>

Comentários

A ClientScriptManager classe é usada para gerenciar scripts de cliente e adicioná-los a aplicativos Web. Você pode obter uma referência à ClientScriptManager classe da ClientScript propriedade do Page objeto.

Você pode adicionar um script de cliente a uma página da Web declarativamente, incluindo o script na marcação HTML da página. No entanto, há situações em que é necessário adicionar script do cliente dinamicamente. Para adicionar um script dinamicamente, use o RegisterClientScriptBlock método, o RegisterClientScriptInclude método, o RegisterStartupScript método ou o RegisterOnSubmitStatement método, dependendo de quando e como você deseja adicionar o script. Para obter mais informações, consulte Como adicionar script de cliente dinamicamente para ASP.NET páginas da Web.

A ClientScriptManager classe identifica exclusivamente scripts por uma chave String e uma Type. Scripts com a mesma chave e tipo são considerados duplicatas. Usar o tipo de script ajuda a evitar confundir scripts semelhantes de diferentes controles de usuário que podem estar em uso na página.

A ClientScriptManager classe pode ser usada para invocar retornos de chamada do cliente em situações em que é desejável executar o código do servidor do cliente sem executar um postback. Isso é conhecido como executar um retorno de chamada fora de banda para o servidor. Em um retorno de chamada do cliente, uma função de script do cliente envia uma solicitação assíncrona para uma página da Web ASP.NET. A página da Web executa uma versão modificada de seu ciclo de vida normal para processar o retorno de chamada. Use o GetCallbackEventReference método para obter uma referência a uma função de cliente que, quando invocada, inicia um retorno de chamada do cliente para um evento de servidor. Para obter mais informações, consulte Implementando retornos de chamada do cliente sem postbacks.

Observação

Os retornos de chamada de script não funcionarão em navegadores mais antigos que não dão suporte ao DOM (Modelo de Objeto de Documento) e exigem que o ECMAScript esteja habilitado no cliente. Para verificar se o navegador dá suporte a retornos de chamada, use a SupportsCallback propriedade, que é acessível por meio Browser da propriedade do objeto intrínseco Request ASP.NET.

Use o GetPostBackEventReference método e o GetPostBackClientHyperlink método para definir um evento de postback do cliente. Esses métodos permitem que as funções de script do cliente, quando invocadas, causem a postagem do servidor na página. Um evento de postback do cliente é diferente de um retorno de chamada do cliente, na qual a página da Web conclui um ciclo de vida normal para processar o evento de postback do cliente.

Observação

Se você estiver usando um Button controle e a UseSubmitBehavior propriedade estiver definida como false, você poderá usar o GetPostBackEventReference método para retornar o evento de postback do cliente para o Button controle.

A OnClientClick propriedade do Button controle, ImageButton controle e LinkButton controle pode ser usada para executar o script do cliente.

Métodos

Nome Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetCallbackEventReference(Control, String, String, String, Boolean)

Obtém uma referência a uma função de cliente que, quando invocada, inicia uma chamada de cliente de volta para eventos de servidor. A função de cliente para esse método sobrecarregado inclui um controle, argumento, script do cliente, contexto e valor booliano especificados.

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

Obtém uma referência a uma função de cliente que, quando invocada, inicia uma chamada de cliente de volta para eventos de servidor. A função de cliente para esse método sobrecarregado inclui um controle, argumento, script do cliente, contexto, manipulador de erros e valor booliano especificados.

GetCallbackEventReference(Control, String, String, String)

Obtém uma referência a uma função de cliente que, quando invocada, inicia uma chamada de cliente de volta para um evento de servidor. A função de cliente para esse método sobrecarregado inclui um controle, argumento, script de cliente e contexto especificados.

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

Obtém uma referência a uma função de cliente que, quando invocada, inicia uma chamada de cliente de volta para eventos de servidor. A função de cliente para esse método sobrecarregado inclui um destino, argumento, script do cliente, contexto, manipulador de erros e valor booliano especificados.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetPostBackClientHyperlink(Control, String, Boolean)

Obtém uma referência, acrescentada javascript: ao início dela, que pode ser usada em um evento cliente para postar de volta no servidor para o controle especificado com os argumentos de evento especificados e indicação booliana se deve registrar a postagem de volta para validação de evento.

GetPostBackClientHyperlink(Control, String)

Obtém uma referência, acrescentada javascript: ao início dela, que pode ser usada em um evento cliente para postar de volta no servidor para o controle especificado e com os argumentos de evento especificados.

GetPostBackEventReference(Control, String, Boolean)

Retorna uma cadeia de caracteres a ser usada em um evento cliente para causar postback no servidor. A cadeia de caracteres de referência é definida pelo controle especificado que manipula o postback e um argumento de cadeia de caracteres de informações de evento adicionais. Opcionalmente, registra a referência de evento para validação.

GetPostBackEventReference(Control, String)

Retorna uma cadeia de caracteres que pode ser usada em um evento cliente para causar postback no servidor. A cadeia de caracteres de referência é definida pelo controle especificado que manipula o postback e um argumento de cadeia de caracteres de informações de evento adicionais.

GetPostBackEventReference(PostBackOptions, Boolean)

Retorna uma cadeia de caracteres que pode ser usada em um evento cliente para causar postback no servidor. A cadeia de caracteres de referência é definida pelo objeto especificado PostBackOptions . Opcionalmente, registra a referência de evento para validação.

GetPostBackEventReference(PostBackOptions)

Retorna uma cadeia de caracteres que pode ser usada em um evento cliente para causar postback no servidor. A cadeia de caracteres de referência é definida pela instância especificada PostBackOptions .

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetWebResourceUrl(Type, String)

Obtém uma referência de URL para um recurso em um assembly.

IsClientScriptBlockRegistered(String)

Determina se o bloco de script do cliente está registrado com o Page objeto usando a chave especificada.

IsClientScriptBlockRegistered(Type, String)

Determina se o bloco de script do cliente é registrado com o Page objeto usando uma chave e um tipo.

IsClientScriptIncludeRegistered(String)

Determina se a inclusão do script do cliente está registrada com o Page objeto usando a chave especificada.

IsClientScriptIncludeRegistered(Type, String)

Determina se a inclusão do script do cliente é registrada com o Page objeto usando uma chave e um tipo.

IsOnSubmitStatementRegistered(String)

Determina se a instrução OnSubmit está registrada com o Page objeto usando a chave especificada.

IsOnSubmitStatementRegistered(Type, String)

Determina se a instrução OnSubmit está registrada com o Page objeto usando a chave e o tipo especificados.

IsStartupScriptRegistered(String)

Determina se o script de inicialização é registrado com o Page objeto usando a chave especificada.

IsStartupScriptRegistered(Type, String)

Determina se o script de inicialização é registrado com o Page objeto usando a chave e o tipo especificados.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
RegisterArrayDeclaration(String, String)

Registra uma declaração de matriz JavaScript com o Page objeto usando um nome de matriz e um valor de matriz.

RegisterClientScriptBlock(Type, String, String, Boolean)

Registra o script do cliente com o Page objeto usando um tipo, chave, literal de script e valor booliano que indica se as marcas de script devem ser adicionadas.

RegisterClientScriptBlock(Type, String, String)

Registra o script do cliente com o Page objeto usando um tipo, chave e literal de script.

RegisterClientScriptInclude(String, String)

Registra o script do cliente com o Page objeto usando uma chave e uma URL, o que permite que o script seja chamado do cliente.

RegisterClientScriptInclude(Type, String, String)

Registra a inclusão do script do cliente com o Page objeto usando um tipo, uma chave e uma URL.

RegisterClientScriptResource(Type, String)

Registra o recurso de script do cliente com o Page objeto usando um tipo e um nome de recurso.

RegisterExpandoAttribute(String, String, String, Boolean)

Registra um par nome/valor como um atributo personalizado (expando) do controle especificado, considerando uma ID de controle, um nome de atributo, um valor de atributo e um valor booliano indicando se o valor do atributo deve ser codificado.

RegisterExpandoAttribute(String, String, String)

Registra um par nome/valor como um atributo personalizado (expando) do controle especificado, considerando uma ID de controle, um nome de atributo e um valor de atributo.

RegisterForEventValidation(PostBackOptions)

Registra uma referência de evento para validação com PostBackOptions.

RegisterForEventValidation(String, String)

Registra uma referência de evento para validação com uma ID de controle exclusiva e argumentos de evento que representam o controle do cliente que gera o evento.

RegisterForEventValidation(String)

Registra uma referência de evento para validação com uma ID de controle exclusiva que representa o controle do cliente que gera o evento.

RegisterHiddenField(String, String)

Registra um valor oculto com o Page objeto.

RegisterOnSubmitStatement(Type, String, String)

Registra uma instrução OnSubmit com o Page objeto usando um tipo, uma chave e um literal de script. A instrução é executada quando a instrução HtmlForm é enviada.

RegisterStartupScript(Type, String, String, Boolean)

Registra o script de inicialização com o Page objeto usando um tipo, uma chave, um literal de script e um valor booliano que indica se as marcas de script devem ser adicionadas.

RegisterStartupScript(Type, String, String)

Registra o script de inicialização com o Page objeto usando um tipo, uma chave e um literal de script.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
ValidateEvent(String, String)

Valida um evento de cliente que foi registrado para validação de evento usando o RegisterForEventValidation(String, String) método.

ValidateEvent(String)

Valida um evento de cliente que foi registrado para validação de evento usando o RegisterForEventValidation(String) método.

Aplica-se a

Confira também