CURSO DE EXTENSÃO PROGRAMAÇÃO C# .NET SENAC / 2011 Dados Pessoais Marcelo da Silveira Siedler [email protected] Formação - Analista de Sistemas/Desenvolvedor de Sistemas - Professor do Senac nos cursos de Redes e ADS - Mestre em ciência da computação. - MCTS: .NET Framework 2.0 Web Applications - IBM Certified Solution Designer – Analysis PLATAFORMA .NET PLATAFORMA .NET Histórico: Microsoft oferece uma série de linguagens e ferramentas para desenvolvimento de aplicações: Visual Basic ASP Plataforma .NET: plataforma para desenvolvimento de aplicações. Desktop, Web, Móvel, Distribuída. Microsoft .NET Framework. MICROSOFT .NET FRAMEWORK Infra-estrutura de desenvolvimento da tecnologia .Net. Ambiente para criação, desenvolvimento e execução de aplicações web. Linguagens de Programação C# (pronuncia-se C charp) Visual Basic (VB.Net) C++ MICROSOFT .NET FRAMEWORK Tecnologias: ASP .NET Web Forms (Web) Windows Forms (Desktop) Compact Framework (PDA / Móvel) Ambientes de Desenvolvimento: Visual Studio .NET (VS .NET) ASP.NET Web Matrix Mono Tools (Multiplataforma) LINGUAGENS DE PROGRAMAÇÃO .NET Desenvolvimento Orientado a Objetos Desenvolvedor pode escolher a linguagem de acordo com o seu conhecimento prévio. VB.NET Desenvolvedores Visual Basic, ASP C# Desenvolvedores C, C++, Java. Cada formulário/página é uma classe da aplicação. DESENVOLVENDO APLICAÇÕES WEB HTML – linguagem de marcação de texto usada para definir a apresentação das páginas no navegador Web. Javascript – linguagem de script (client-side) usada para dar interatividade a páginas HTML. ASP.Net – linguagem de script (server-side) usada para criação de conteúdo dinâmico. ESTRUTURA DE DESENVOLVIMENTO DO CURSO Microsoft Visual Studio 2010. Web Forms – ASP.NET Framework. Linguagem de Programação C# HTML + JAVASCRIPT <html> <head> <title>Asp.Net</title> </head> <body> <center> <h1>Introdução ASP.NET</h1> </center> <script language=javascript> alert("Meu Teste javascript"); </script> </body> </html> EXEMPLO - HTML <html> <head> <title>Asp.Net</title> </head> <body> <center> <h1>Introdução ASP.NET</h1> </center> </body> </html> DESENVOLVENDO APLICAÇÕES WEB - Abra o Visual Studio. - Menu File / New Web Site. - Na aba Solution Explorer, botão direito no “projeto” Add new file – Web Form - Inserir Código: <%Response.Write("Introdução ASP.NET");%> <%Response.Write("<p>Bem vindo!!</p>");%> - Tags executadas no servidor: <% ... %> - Idêntico ao ASP/PHP ?!?! Estrutura da Aplicação Web – Code Behind - Arquivo .aspx - - Arquivo .cs - - Estrutura HTML e controles ASP.NET. Codificação server-side. Arquivo inicial - Default.aspx Estrutura da Aplicação public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("Script rodando no servidor"); } } Page_Load – método executado sempre que a página for chamada. ASP.Net - Elementos HTML - Elementos Html, por padrão, são tratados como texto. - <a href=”http://www.google.com”>Google</a> - Exemplos de elementos HTML: - Caixas de texto - input - Âncoras – a -Caixa de seleção – select - Para tornar esses elementos HTML “programáveis” no .NET devemos adicionar o atributo runat=”server” a esses elementos. -A identificação do elemento é feita através do atributo id=”nomedoelemento”. -Exemplo: <p id=“paragrafo1” runar=“server”>Parágrafo</p> * ABA HTML NO TOOLBOX ASP.Net - Elementos HTML Default.aspx <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <a id="link1" runat="server">Meu Blog</a> </div> </form> </body> </html> Default.aspx.cs public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs { link1.HRef = "http://msiedler.wordpress.com"; } } ASP.Net - Elementos HTML/ Continuação Default.aspx <body> <form id="form1" runat="server"> <a id="link1" runat="server">Google</a> <br /> <div id="div1" runat="server"> <h4 style="color:red"> Curso de extensão – C# .NET </h4> </div> </form> </body> Default.aspx.cs public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs { link1.HRef="http://www.google.com"; div1.Visible = false; } } ASP.Net - Elementos HTML/ Continuação Exercício: Criar um novo arquivo chamado exemploHTML com a seguinte estrutura (código inserido dentro do form): <div> <p>Este é o curso de programação .NET</p> <p>Faculdade SaoLucas II</p> <table> <tr> <td>C.H:</td> <td>40 horas</td> </tr> </table> <img alt="" src="O Rappa Vol. 01.jpg" /> </div> Continuação -Aplicar a esta página as seguintes alterações no C#: -Trocar o conteúdo do texto para Faculdade Senac Pelotas (ver propriedade InnerText). -Esconder a tabela com a carga horária. -Colocar uma legenda na figura (ver atributo Alt) ASP.Net – Web Server Controls - ASP.Net provê uma série de elementos para facilitar o desenvolvimento de aplicações Web. •TextBox, DropDownList, Button - Disponibiliza elementos mais complexos que diminuem o esforço de desenvolvimento de tarefas complexas no Web Site. •GridView, Calendar, Repeater. -Permite associar eventos ao código. * ABA STANDARD NO TOOLBOX ASP.Net – Web Server Controls - Sintaxe Básica: - <asp:NomeDoControle id=“nome” runat=“server”>. - Os Web Server Controls devem ser criados dentro de um formulário, formulário este que deve ser processado no servidor. <form id="form1" runat="server"> <asp:NomeDoControle id=“nome” runat=“server” /> <asp:NomeDoControle1 id=“nome1” runat=“server” /> <asp:NomeDoControle2 id=“nome2” runat=“server” /> ... </form> - Exemplo: - <asp:TextBox id=“nome” runat=“server”>. ASP.Net – Web Server Controls - Acessando propriedades dos controles: - Os Web Server Controls, assim como os controles Html, apresentam uma série de propriedades que permitem definir a forma como cada controle é exibido na página. - Sintaxe: <asp:NomeDoControle id=“nome” runat=“server” propriedadeA=“valorA” >. - Exemplo: <asp:TextBox id=“nome” runat=“server” Text=“Testando Propriedade” CssClass="aba" Visible="true" ReadOnly="false">. ASP.Net – Web Server Controls utilizando no sistema ASP.Net – Web Server Controls • Elementos (controles) disponíveis na listagem padrão (standard) da estrutura da janela Toolbox • Adicionar um arquivo chamado webservercontrol1.aspx e adicionar os seguintes controles na sequencia: • • • • Label com atributos: id – labNome text – Nome: Textbox com atributos: id – txtNome text – “”: Label com atributos: id – labCurso text – Curso: Textbox com atributos: id – txtCurso text – “”: • Rodar a aplicação Programando – Web Server Controls / Eventos Exemplo2.aspx <html> <body> <form id="Form1" runat="server"> <asp:Button ID="button1" Text="Clique no botão!" runat="server" OnClick="submit" /> </form> </body> </html> - Integrar os dois exemplos Exemplo2.aspx.cs protected void submit(object sender, EventArgs e) { button1.Text = "você clicou no botão!"; } Exercício - Criar um novo arquivo chamado exercicio1.aspx com a seguinte estrutura: Exercício Quando carregar a página exibir na caixa de texto os seguintes valores: - Nome: João da Silva. - Cargo: Gerente de Projeto. Quando clicar no botão Anterior atualizar os valores para: - Nome: Mariluce Dias. - Cargo: Analista de Sitemas. Quando clicar no botão Próximo atualizar os valores para: - Nome: Lucas Silveira. - Cargo: Estagiário. Exercício 2 - Criar um novo arquivo chamado exercicio2.aspx. - Criar uma caixa de texto e um botão. - Ao carregar a página exibir nesta caixa de texto a data e hora atual. - Quando clicar no botão deve atualiza a informação de data/hora da caixa de texto criada. - Para retornar a Data/Hora atual do sistema no formato String utiliza-se o comando DateTime.Now.ToString(). Mais sobre controles ASP.NET Documento auxiliar: controles.doc Controles de Validação O ASP.NET provê uma série de controles de validação que auxiliam o desenvolvedor a fazer as verificações necessárias nos campos de entrada de dados do usuário. É necessário quando criamos os formulários validar se os campos estão formatados corretamente. Quando o usuário digita seu email por exemplo, temos que validar se este está no formato adequado. Exemplo - RangeValidator <html> <body> <form id="Form1" runat="server"> <p>Digite um número de 1 a 100: <asp:TextBox id="tbox1" runat="server" /> <br /><br /> <asp:Button ID="Button1" Text="Submit" runat="server" /> </p> <p> <asp:RangeValidator ID="RangeValidator1" ControlToValidate="tbox1" MinimumValue="1" MaximumValue="100" Type="Integer" Text="O número deve ser entre 1 e 100!" runat="server" /> </p> </form> </body> </html> Exemplo - RequiredFieldValidator <html> <body> <form id="Form1" runat="server"> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBoxNome" ErrorMessage="Preencha seu Nome." > </asp:RequiredFieldValidator> <label>Nome:</label> <asp:TextBox ID="TextBoxNome" runat="server"></asp:TextBox>* <br /> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBoxEmail" ErrorMessage="Preencha seu email." > </asp:RequiredFieldValidator> <label>E-mail:</label> <asp:TextBox ID="TextBoxEmail" runat="server"></asp:TextBox>* <asp:Button ID="Button1" runat="server" Text="Button" /> </form> </body> </html>