sexta-feira, maio 01, 2009

Como debugar Javascript em ASP.NET


Javascript (anteriormente chamado de Livescript) surgiu por volta de 1995 no navegador chamado Netscape, principal concorrente na corrida do monopólio de browsers na época. Hoje em dia, é incomum ver uma aplicação web sem qualquer uso de scripts em Javascript. Hoje irei demostrar como depurar (debugar) uma aplicação em ASP.NET com o Visual Studio 2008. Você pode utilizar a versão 2005 também.

O Internet Explorer oferece um programa de depuração chamado Microsoft Script Debugger, próprio para depuração de Scripts. Há também um plugin (que é muito bom, diga-se de passagem) para o Mozilla Firefox. Em outro momento, abordaremos como utiliza-lo. Voltando para o Internet Explorer, para torna-lo ativo, você precisa ir em Tools -> Internet Options -> Advanced e desmarcar a opção "Disable Script Debug (Internet Explorer)".



No Javascript, acrescente a palavra "debugger;" no ponto onde você deseja começar a depuração.
<script language="JavaScript">
function resultado() {
debugger;
var somaValores = parseFloat(document.all('parcela1').value) + parseFloat(document.all('parcela2').value);
document.all('total').value = eval(somaValores)
}
</script>


Dessa forma, você conseguirá debugar facilmente seu javascript, sem fazer um "chinês" mental.



O exemplo na íntegra se encontra 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>Untitled Page</title>

<script language="JavaScript">

function resultado() {
debugger;
var somaValores = parseFloat(document.all('parcela1').value) + parseFloat(document.all('parcela2').value);
document.all('total').value = eval(somaValores)
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<form name="calc">
<input type="text" name="parcela1" size="20" maxlength="30" class="disp">+
<input type="text" name="parcela2" size="20" maxlength="30" class="disp">=
<input type="text" name="total" size="20" maxlength="30" class="disp">
<input type="button" name="closeprth" value="OK" class="btswhite" onclick="resultado()">
</form>
</div>
</form>
</body>
</html>

2 comentários:

Fábio disse...

Parabéns pelo artigo, era o que eu estava procurando.

Anônimo disse...

Muito bom Rodrigo. Simples e direto. Valeu.