Autor: Builder, Tony Patton
Embora o ASP.NET forneça uma plataforma poderosa, os desenvolvedores não devem ignorar tecnologias maduras, como JavaScript. Neste artigo, Tony
Patton explica como integrar JavaScript com controles ASP.NET no desenvolvimento web.
Embora as plataformas de desenvolvimento web forneçam flexibilidade e vários recursos, muitas vezes você deseja ou precisa contar com tecnologias existentes para concluir uma tarefa necessária. Um bom exemplo é o ASP.NET, que fornece uma plataforma de desenvolvimento poderosa, mas ao mesmo tempo tecnologias maduras como JavaScript. também não deve ser ignorado. Neste artigo, explicarei como conectar o código JavaScript aos controles ASP.NET.
maneira convencional
Normalmente, quando um aplicativo Web requer uma janela pop-up ou de confirmação ou outra funcionalidade do lado do cliente, você cria os métodos JavaScript necessários e os chama quando necessário. Por exemplo, a Listagem A contém uma janela de confirmação que o usuário pode usar para continuar ou cancelar o envio do formulário.
Após selecionar o botão enviar, o método confirmSubmit do JavaScript é chamado. Esse prompt de confirmação permite ao usuário prosseguir com o envio do formulário (selecione Confirmar) ou cancelar (selecione Cancelar).
O código acima funciona conforme planejado, mas não é tão simples quando se trabalha em uma plataforma de desenvolvimento, como ASP.NET.
Opções de substituição para ASP.NET
O ASP.NET oferece suporte ao uso de elementos HTML, como botões de entrada e caixas de texto, mas há um conjunto completo de elementos de controle que fornecem funcionalidades adicionais baseadas no próprio modelo de desenvolvimento do ASP.NET.
Anexar JavaScript ao ASP.NET não é tão simples quanto a abordagem direta HTML/JavaScript O modelo de programação ASP.NET fornece métodos na classe de página base para anexar blocos de script a elementos de página. Os seguintes métodos podem ser usados para anexar ou integrar JavaScript em uma página ou elemento de página:
eu
RegisterClientScriptBlock: permite que sua página contenha blocos de script, scripts do lado do cliente no objeto de página <formulário
runat =
Ele começa a ser executado após a tag de abertura do elemento server>. O bloco de script envia a saída como um objeto, portanto, você deve adicionar duas tags do elemento <script>.
eu
RegisterOnSubmitStatement: Permite atribuir um bloco/método de script ao evento OnSubmit do objeto de página.
eu
RegisterStartupScript: permite incluir blocos de script na página, semelhante ao método RegisterClientScriptBlock Este método está no objeto página <form.
runat =
Executando antes da tag de fechamento do elemento server>, o bloco de script envia a saída como um objeto, portanto você deve adicionar duas tags do elemento <script>.
Cada método pode aceitar dois parâmetros: chave e script. A chave é o nome atribuído ao bloco de script. O valor da chave deve ser exclusivo. execute o script novamente no fluxo de saída; o script do segundo parâmetro contém o script real enviado ao cliente, que pode ser o código JavaScript completo ou o nome de um método.
Esses métodos podem ser usados no código de página ASP.NET real, seja VB.NET, C#, J# ou qualquer outra linguagem. A Listagem B mostra o código de exemplo ASP.NET escrito em C#.
Os métodos JavaScript são construídos por meio de uma variável de string, seu valor é passado para o método RegisterClientScriptBlock como o segundo argumento e o nome real do método é passado pelos atributos do objeto.
O método Add da propriedade é atribuído ao controle de botão ASP.NET. O evento JavaScript é passado como o primeiro parâmetro e o nome do método é o segundo parâmetro.
Além disso, você pode notar o uso do método IsStartupScriptRegistered, que permite confirmar se o script foi registrado antes de continuar a usá-lo. Existem dois métodos para este problema:
eu
IsStartupScriptRegistered: Confirma se o script de inicialização do cliente foi registrado no objeto página. Seu único parâmetro é o nome do script.
eu
IsClientScriptBlockRegistered: Confirma se o bloco de script do cliente foi registrado no objeto página. Seu único parâmetro é o nome do script.
Outra maneira de resolver o problema é usar o método RegisterOnSubmitStatement da classe de página. A Listagem C repete a função da Listagem B, mas a diferença é que o método confirmSubmit está conectado ao evento submit da página em vez do evento click da página. botão.
Este exemplo simples ilustra claramente como incluir blocos de script JavaScript e scripts JavaScript em controles em uma página ASP.NET. Se você usar controles ASP.NET, essa abordagem poderá ajudá-lo a anexar scripts a esses controles, mas você também poderá usar o método de registro. para centralizar o JavaScript de um projeto. Você pode criar um arquivo de classe que contenha os scripts e utilizá-los nas páginas conforme necessário. Dessa forma, você só precisa gerenciar os scripts em um local e torna-se mais fácil utilizá-los em uma ou mais páginas.
Uma combinação do antigo e do novo. Não importa em qual plataforma de desenvolvimento você esteja, é improvável que você desista de usar JavaScript como uma linguagem de script do lado do cliente. JavaScript é o padrão para desenvolver funções do lado do cliente. um grande número de funções, muitas vezes o JavaScript ainda precisa ser "casado" com esses controles. Felizmente, a classe de página do ASP.NET contém vários métodos para integrar blocos de script e métodos na página e em seus controles.