ClientScriptManager Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define métodos para gerir scripts de cliente em aplicações 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 seguinte demonstra a utilização 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 gestor de cliente para um 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>
Observações
A ClientScriptManager classe é usada para gerir scripts de clientes e adicioná-los a aplicações Web. Podes obter uma referência à ClientScriptManager classe a partir da ClientScript propriedade do Page objeto.
Pode adicionar um script cliente a uma página Web de forma declarativa, incluindo o script na marcação HTML da página. No entanto, existem situações em que é necessário adicionar script cliente dinamicamente. Para adicionar um script dinamicamente, usa o RegisterClientScriptBlock método, o RegisterClientScriptInclude método, o RegisterStartupScript método ou o RegisterOnSubmitStatement método, dependendo de quando e como queres adicionar o script. Para mais informações, veja Como: Adicionar Script Cliente Dinamicamente às ASP.NET Páginas Web.
A ClientScriptManager classe identifica de forma única os scripts por uma chave String e um Type. Scripts com a mesma chave e tipo são considerados duplicados. Usar o tipo de script ajuda a evitar confundir scripts semelhantes provenientes de diferentes controlos de utilizador que possam estar a ser usados na página.
A ClientScriptManager classe pode ser usada para invocar callbacks do cliente em situações em que é desejável executar código do servidor a partir do cliente sem realizar um postback. Isto é referido como realizar um callback fora de banda para o servidor. Numa callback de cliente, uma função de script cliente envia um pedido assíncrono para uma página Web ASP.NET. A página Web executa uma versão modificada do seu ciclo de vida normal para processar o callback. Use o GetCallbackEventReference método para obter uma referência a uma função cliente que, quando invocada, inicia um callback cliente para um evento servidor. Para mais informações, consulte Implementar Callbacks de Cliente Sem Postbacks.
Note
Os callbacks de script não funcionam em navegadores mais antigos que não suportam o Document Object Model (DOM), e exigem que o ECMAScript esteja ativado no cliente. Para verificar se o navegador suporta callbacks, use a propriedade SupportsCallback, acessível através da propriedade Browser 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. Estes métodos permitem que funções de script cliente, quando invocadas, façam com que o servidor publique de volta para a página. Um evento de postback do cliente é diferente de um callback do cliente, pois a página Web completa um ciclo de vida normal para processar o evento de postback do cliente.
Note
Se estiver a usar um Button controlo e a UseSubmitBehavior propriedade estiver definida para false, então pode usar o GetPostBackEventReference método para devolver o evento de postback do cliente para o Button controlo.
A OnClientClick propriedade do Button controlo, ImageButton controlo e LinkButton controlo pode ser usada para executar um script cliente.
Métodos
| Name | 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 cliente que, quando invocada, inicia uma chamada cliente de volta para eventos do servidor. A função cliente para este método sobrecarregado inclui um controlo especificado, argumento, script cliente, contexto e valor booleano. |
| GetCallbackEventReference(Control, String, String, String, String, Boolean) |
Obtém uma referência a uma função cliente que, quando invocada, inicia uma chamada cliente de volta para eventos do servidor. A função cliente para este método sobrecarregado inclui um controlo especificado, argumento, script cliente, contexto, manipulador de erros e valor booleano especificados. |
| GetCallbackEventReference(Control, String, String, String) |
Obtém uma referência a uma função cliente que, quando invocada, inicia uma chamada cliente de volta a um evento servidor. A função cliente deste método sobrecarregado inclui um controlo, argumento, script cliente e contexto especificados. |
| GetCallbackEventReference(String, String, String, String, String, Boolean) |
Obtém uma referência a uma função cliente que, quando invocada, inicia uma chamada cliente de volta para eventos do servidor. A função cliente deste método sobrecarregado inclui um alvo especificado, argumento, script cliente, contexto, manipulador de erros e valor booleano especificados. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetPostBackClientHyperlink(Control, String, Boolean) |
Recebe uma referência, com |
| GetPostBackClientHyperlink(Control, String) |
Recebe uma referência, com |
| GetPostBackEventReference(Control, String, Boolean) |
Devolve uma string para usar num evento cliente e causar postback ao servidor. A cadeia de referência é definida pelo controlo especificado que gere o postback e por um argumento de cadeia com informação adicional de evento. Opcionalmente, regista a referência do evento para validação. |
| GetPostBackEventReference(Control, String) |
Devolve uma string que pode ser usada num evento cliente para causar postback ao servidor. A cadeia de referência é definida pelo controlo especificado que gere o postback e por um argumento de cadeia com informação adicional de evento. |
| GetPostBackEventReference(PostBackOptions, Boolean) |
Devolve uma string que pode ser usada num evento cliente para causar postback ao servidor. A cadeia de referência é definida pelo objeto especificado PostBackOptions . Opcionalmente, regista a referência do evento para validação. |
| GetPostBackEventReference(PostBackOptions) |
Devolve uma string que pode ser usada num evento cliente para causar postback ao servidor. A cadeia de referência é definida pela instância especificada PostBackOptions . |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetWebResourceUrl(Type, String) |
Recebe uma referência URL para um recurso numa assembleia. |
| IsClientScriptBlockRegistered(String) |
Determina se o bloco de script cliente está registado com o Page objeto usando a chave especificada. |
| IsClientScriptBlockRegistered(Type, String) |
Determina se o bloco de script cliente está registado com o Page objeto usando uma chave e um tipo. |
| IsClientScriptIncludeRegistered(String) |
Determina se o script cliente include está registado com o Page objeto usando a chave especificada. |
| IsClientScriptIncludeRegistered(Type, String) |
Determina se o script cliente include está registado com o Page objeto usando uma chave e um tipo. |
| IsOnSubmitStatementRegistered(String) |
Determina se a instrução OnSubmit está registada com o Page objeto usando a chave especificada. |
| IsOnSubmitStatementRegistered(Type, String) |
Determina se a instrução OnSubmit está registada com o Page objeto usando a chave e o tipo especificados. |
| IsStartupScriptRegistered(String) |
Determina se o script de arranque está registado com o Page objeto usando a chave especificada. |
| IsStartupScriptRegistered(Type, String) |
Determina se o script de arranque está registado com o Page objeto usando a chave e o tipo especificados. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| RegisterArrayDeclaration(String, String) |
Regista uma declaração de array JavaScript com o Page objeto usando um nome e valor de array. |
| RegisterClientScriptBlock(Type, String, String, Boolean) |
Regista o script cliente com o Page objeto usando um tipo, chave, literal de script e valor booleano que indicam se deve adicionar etiquetas de script. |
| RegisterClientScriptBlock(Type, String, String) |
Regista o script cliente com o Page objeto usando um tipo, chave e script literal. |
| RegisterClientScriptInclude(String, String) |
Regista o script do cliente com o Page objeto usando uma chave e um URL, o que permite que o script seja chamado pelo cliente. |
| RegisterClientScriptInclude(Type, String, String) |
Regista o script cliente incluído com o Page objeto usando um tipo, uma chave e um URL. |
| RegisterClientScriptResource(Type, String) |
Regista o recurso do script cliente com o Page objeto usando um tipo e um nome de recurso. |
| RegisterExpandoAttribute(String, String, String, Boolean) |
Regista um par nome/valor como um atributo personalizado (expando) do controlo especificado, dado um ID de controlo, um nome de atributo, um valor de atributo e um valor booleano que indica se deve codificar o valor do atributo. |
| RegisterExpandoAttribute(String, String, String) |
Regista um par nome/valor como um atributo personalizado (expando) do controlo especificado, dado um ID de controlo, nome de atributo e valor de atributo. |
| RegisterForEventValidation(PostBackOptions) |
Regista uma referência de evento para validação com PostBackOptions. |
| RegisterForEventValidation(String, String) |
Regista uma referência de evento para validação com um ID de controlo único e argumentos de evento que representam o controlo do cliente que gera o evento. |
| RegisterForEventValidation(String) |
Regista uma referência de evento para validação com um ID de controlo único que representa o controlo do cliente que gera o evento. |
| RegisterHiddenField(String, String) |
Regista um valor oculto com o Page objeto. |
| RegisterOnSubmitStatement(Type, String, String) |
Regista uma instrução OnSubmit com o Page objeto usando um tipo, uma chave e um script literal. A instrução executa-se quando o HtmlForm é submetido. |
| RegisterStartupScript(Type, String, String, Boolean) |
Regista o script de arranque com o Page objeto usando um tipo, uma chave, um literal de script e um valor booleano que indicam se deve adicionar etiquetas de script. |
| RegisterStartupScript(Type, String, String) |
Regista o script de arranque com o Page objeto usando um tipo, uma chave e um script literal. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| ValidateEvent(String, String) |
Valida um evento cliente que foi registado para validação de eventos usando o RegisterForEventValidation(String, String) método. |
| ValidateEvent(String) |
Valida um evento cliente que foi registado para validação de eventos usando o RegisterForEventValidation(String) método. |