This article is currently in the process of being translated into Portuguese (~99% done).
CodeBehind
Apesar de nosso primeiro exemplo ser bom, nós infelizmente quebramos um dos princípios do ASP.NET: Separar o HTML do código. como você notou, nós adicionamos um bloco de script (usando <% %>), onde nós escrevemos uma linha de código C# para tratar o Label. Enquanto isto está bem para um simples e pequeno exemplo como este, nós teríamos em breve uma verdadeira bagunça com um monte de código C# misturado com um monte maior ainda de código HTML. Se você adicionar um pouco de JavasScript e algum CSS, isto se tornaria caótico para editar. É por isso que a MS introduziu o CodeBehind (código por trás, em tradução livre), uma técnica que permite separar completamente a marcação (HTML, CSS, etc.) e o código (C#, VB.NET, etc.). Então, vamos remover o bloco de script (de <% até %>) e salvar o arquivo.
Como falamos anteriormente, VS adicionou um arquivo chamado Default.aspx.cs. Se você não puder vê-lo no Gerenciador de Soluções, então clique no pequeno sinal de mais (ou seta) no lado esquerdo do arquivo Default.aspx. Abra este arquivo. Agora, se você nunca trabalhou com .NET ou outra linguagem de programação não-web, isto pode parecer um pouco assustador neste ponto. Ele não se parece nada com HTML. Entretanto, eu tentarei explicar as diferentes partes deste arquivo, e espero que em breve você veja que o CodeBehind é uma grande ferramenta que oferece uma melhor visualização de seu trabalho. Aqui está uma listagem completa de como o arquivo se parece no momento:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Neste momento, a parte de cima é bastante irrelevante para nós. É uma lista de namespaces sendo incluída com a palavra chave using, para uso no arquivo. Considerando que este é um tutorial ASP.NET e não um tutorial dedicado a C#, eu não explicarei estar parte aprofundadamente. Depois, nós temos a classe. Classes são uma parte do conceito de Programação Orientada a Objetos, que se tornou muito popular, especialmente com linguagens como Java e C#. OO é um assunto muito complexo, que também não será explicado neste tutorial.
O nome desta classe é "_Default", e o : (dois-pontos) nos mostra que esta classe herda da classe Page no namespace System.Web.UI. Isto significa que nossa página já pode fazer um monte de coisas, sem nenhuma programação, porque ela herda métodos e propriedades de outra classe. Todas as páginas ASP.NET herdam da classe Page, ou de outra classe que herda a classe Page.
O único método dentro desta classe é o Page_Load, que é chamado toda vez que a página é carregada. Vamos utilizá-lo a nosso favor, e adicionar nosso texto a partir deste método. Nós podemos usar exatamente a mesma linha de código que criamos antes, porém obviamente sem as tags de script. Adicione a linha de código entre os caracteres { e }:
HelloWorldLabel.Text = "Hello, world!";
Aí está! Execute o projeto e dê uma olhada. A página se parece exatamente como antes, mas nós acabamos de usar o CodeBehind pela primeira vez. Mas este exemplo está começando a ficar meio velho, então no próximo capítulo, nós daremos uma olhada em algo um pouco mais interessante.