O ASP.NET é um framework web livre para a construção de sites e aplicativos da Web usando HTML, CSS e JavaScript. Você também pode criar APIs Web, sites móveis, utilizar as tecnologias em tempo real como Web Sockets e muito mais. O Framework ASP.NET oferece três modelos para a criação de aplicações para a internet: Web Forms, ASP.NET MVC e páginas da Web ASP.NET. Todos os três modelos são estáveis e maduros, e você pode criar grandes aplicações web com qualquer um deles. Não importa o framework que você escolher, você vai ter todos os benefícios e recursos do ASP.NET em todos os lugares.
Cada Framework tem como alvo um estilo de desenvolvimento diferente. O que você escolher depende de uma combinação de seus ativos de programação (conhecimento, habilidades e experiência em desenvolvimento), o tipo de aplicação que você está criando, segundo a Microsoft todos os três modelos serão apoiados, atualizados e melhorados em futuras versões do ASP.NET.
Para programar gratuitamente utilizando o framework ASP.NET utilize o Visual Studio Express for Web:
VS Express Web: http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-web
Sobre ASP.NET e a Microsoft
Como sabemos a Microsoft é uma empresa de softwares proprietários ou seja sistemas que não estão sobre uma licença aberta, então é muito comum novos desenvolvedores ou até desenvolvedores experientes que migraram das antigas tecnologias do Windows para o .NET Framework pensarem que toda tecnologia e as técnicas que estão utilizando são de propriedade da Microsoft, mas não são, a maioria dos padrões estabelecidos que você usa quando utiliza o .NET Framework não são da Microsoft, por exemplo, o .NET Framework e a linguagem de programação C# são muito, mas muito parecidos com a tecnologia Java, utilizando vários de seus padrões, se analisarmos os programas mais básicos quase não se nota diferença de sintaxe e quando a sintaxe é diferente os objetos ainda possuem um proposito muito semelhantes. Utilize o link a seguir para saber sobre este assunto:
C# para desenvolvedores Java: http://msdn.microsoft.com/en-us/library/ms228602(v=vs.90).aspx
Com o ASP.NET a coisa funciona do mesmo jeito só que um pouco mais acentuado, pois a internet utiliza vários padrões e tecnologias de código aberto, tornando o ASP.NET dependente destas tecnologias e padrões para se tornar competitivo, entre os mais básicos estão o HTML, CSS, Javascript até os padrões e frameworks mais avançados como os que estão sob a licença Apache (principal concorrente do servidor web Microsoft para ASP.NET o IIS). Entre estas tecnologias e padrões estão também os Design Patterns como o MVC, isto, MVC não é uma tecnologia da Microsoft e nem é uma tecnologia em si, e sim um Desing Pattern, para que você tenha uma ideia o Pattern MVC existe desde 1979 e após ser amplamente utilizado por vários frameworks de código aberto, só em 2009 foi adotado pela Microsoft, como uma novidade para a tecnologia ASP.NET:
Para saber mais sobre as tecnologias e padrões externos do ASP.NET utilize o link a seguir:
ASP.NET Open Source: http://www.asp.net/open-source
Criando uma Aplicação ASP.NET com C#
Quando você cria uma aplicação ASP.NET pelos Templates do Visual Studio, é gerado uma aplicação completa, utilizando vários elementos da tecnologia ASP.NET, no entanto as paginas ASP.NET são um pouco mais pesadas do que outras tecnologias da web, para resolver este problema você pode criar projetos à partir de modelos vazios ou utilizar alguns frameworks baseados em javascript, caso tenha intuito de fazer uma aplicação rápida e enxuta. Para criar uma aplicação ASP.NET a partir do zero siga os seguintes passos:
1 – Abra o Visual Studio e crie um novo projeto C# para web do tipo ASP.NET Web Application, dê um nome para sua solução e clique em OK:
2 – Escolha um projeto C# Empty (vazio) e clique em OK:
3 – Para criar uma pagina Aspx, clique no seu projeto com o botão direito na janela Solution Explorer e selecione ADD, Webform. Uma pagina XHTML com código HTML básico será criado para você. A IDE para ASP.NET é muito semelhante aos Windows Forms, utilizando as abas Design e Code para alternar entre a IDE Visual e a IDE de código ou ainda Split, para ter as duas visões ao mesmo tempo. Utilize o código HTML abaixo para completar seu código gerado automaticamente:
4 – O ASP.NET utiliza um conceito de Code-Behind, a cada pagina ASPX você tem uma classe com código C#, isso permite uma separação limpa de seu HTML de sua lógica de apresentação e também o conceito de código in-line que é o código que está incorporado diretamente dentro da página ASP.NET. Uma pagina WebForms nada mais é que uma pagina ASPX que utiliza FORM HTML e também componentes criados pelo framework WebForms do ASP.NET. Vamos utilizar para este exemplo objetos HTML e não ASP.NET. Você pode notar que quando utilizou o código HTML abaixo e clicou no botão de Design, automaticamente os componentes do formulário HTML foram reconhecidos, exceto pelo código in-line dinâmico que utilizamos na pagina ASPX:
5 – Complete a classe C# com o código abaixo e rode o programa, o resultado será exibido no navegador web padrão:
6 – Assim que você clica no botão o código da classe por traz da sua pagina é executado, capturando os valores do código HTML para serem utilizados em sua pagina:
Exemplo:
Neste exemplo criamos uma aplicação ASP.NET à partir de um modelo de projeto vazio e utilizamos uma pagina WebForms para criar nossa pagina web com formulários do tipo HTML, utilizamos C# para executar as ações da nossa pagina através do conceito de código ASP.NET chamados de code-behind e in-line.
XHTML
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="DaAspNet1._default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <fieldset> <p> <!-- Este é o modo de escrever código C# em uma pagina html --> <!-- utilize a marcação abaixo: --> <% Response.Write("Desenvolvimento Aberto (Titulo C# Dinâmico)"); %> </p> <br /> <legend>Escolha uma banda:</legend> <br /> Seu Nome:<br /> <input type="text" name="Nome" /> <br /> <br /> Bandas: <br /> <select name="bandas"> <option value="Stone Temple Pilots">Stone Temple Pilots</option> <option value="Alice in Chains">Alice in Chains</option> <option value="Screaming trees" selected>Screaming trees</option> <option value="Mother Love bone">Mother Love bone</option> </select> <br /> <br /> <!-- Cria um botão HTML para ASP.NET!--> <input id="Meubotao" runat="server" class="button right" onserverclick="Meubotao_ServerClick" type="button" value="Enviar" /> </fieldset> </div> </form> </body> </html>
C#
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace DaAspNet1 { public partial class _default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Meubotao_ServerClick(object sender, EventArgs e) { // Recupera dados do HTML String nome = Request.Form["Nome"]; String banda = Request.Form["bandas"]; // Cria HTML Dinâmico Response.Write("Desenvolvimento Aberto ASP.NET: <br />" ); Response.Write("Nome: " + nome + " <br />"); Response.Write("Banda escolhida: " + banda + " <br />"); } } }