Alguns controles em ASP.NET possuem uma propriedade OnClientClick, que é utilizada para executar um script do lado do cliente (navegador). Em se tratando do controle Button, ao receber um clique, o botão antecipa a execução do evento Click passando antes pela rotina escrita na propriedade OnClientClick.
Veremos um exemplo bem simples.
Abra o Visual Studio e crie um novo Web Site (File > New > Web Site > ASP.NET Web Site) em linguagem C#.
Aproveitando a página Default.aspx, que foi criada automaticamente, clique na guia Source e altere o código fonte HTML da página conforme a listagem abaixo.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Enviar" onclick="Button1_Click"
onclientclick="return confirm('Deseja enviar?');" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
O atributo OnClientClick do Button1 foi preenchido com uma rotina em linguagem Javascript, para exibir uma caixa de diálogo com dois botões (OK e Cancel). Volte para a guia Design da página, dê um duplo-clique sobre o botão “Enviar” e escreva o código abaixo no evento Click.
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Os dados foram enviados com sucesso!";
}
O exemplo está pronto, rode a aplicação e clique no botão “Enviar”. Uma mensagem é exibida sobre a janela, e ao clicar no botão Cancel a rotina é cancelada. Caso o usuário clique no botão OK, a rotina escrita no evento Click é executada do lado do servidor.
A idéia do exemplo, é permitir que o usuário confirme a postagem de dados, antes da rotina de persistência ser executada. Por enquanto é só.
Fico por aqui e até a próxima!
Nenhum comentário:
Postar um comentário
Deixe aqui seu comentário