ASP.NET Passo a Passo Controles com Processamento Personalizado Criando um controle personalizado 1. Abra ou copie a solução ControlORama desenvolvido.

Slides:



Advertisements
Apresentações semelhantes
EBSCOhost Estilo guiado de pesquisa avançada
Advertisements

Exemplos de código WebForm1.aspx: Listas.aspx: TestaMarcadores.aspx:
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Área de Desenvolvimento de Sistemas
WINDOWS Sistemas Operacionais PLATAFORMA TECNOLÓGICOS
Classes C++ Class nome da classe { private: membros privados
Maria da Conceição Neves
Personalização Objecto Profile. 1 O objecto Profile O objecto Profile permite armazenar informação única de um utilizador. Quando o utilizador visita.
Linguagem HTML Básica Formulários – Detalhamento dos Componentes
Conhecendo o VS2008: Windows Forms X Web Forms X Web Services
Vamos Relembrar o que vimos na última aula!!
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO-II. Material II-Bimestre Objetos de Controle Listas Eventos e.
Professor Victor Sotero
Templates/ Modelos Templates são documentos que podem ser usados como um modelo para outras páginas com o mesmo lay-out, ou seja, é uma espécie de frame.
Tecnologias para Internet
Informática 2° Bimestre Luiz Antônio.
Arquitetura do exemplo
Ferramentas para Sistema Web Sistemas de Informação Aula 10 – 15/05/2013.
Treinamento do Microsoft® Access® 2010
Microsoft Access Carlos Sebastião.
Silvane Gonçalves Analista de Sistemas. 1º passo Selecione a tabela VENDA, depois clique no MENU CRIAR > Assistente de Formulário.
Linguagem de Programação II Parte VII
WINDOWS Professor: Leandro Crescencio
Laboratório de Programação I
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Usando Microsoft Access 2010
Tarefa 02 Visual Studio 2005 Visual C# Programa Hello World.
Word Prof. Gláucya Carreiro Boechat
CURSO DE EXTENSÃO PROGRAMAÇÃO C# .NET
Prof. Alexandre Monteiro Recife
Formulários HTML Professor Rafael Silva. Criação do formulário Elementos do formulário Action: Script, página ou para onde será enviado o formulário.
7 - Criação de Páginas Web
Pilhas Profa. Nádia Félix.
Unidade 6 – Formulários HTML Prof.: Henrique Santos
UTILIZAÇÃO DA LINGUAGEM MS-VISUAL BASIC.NET Objetivo: apresentar os principais recursos da linguagem “Visual Basic” necessários à criação de macros para.
Aula Prática 4 Monitoria IP/CC (~if669).
Bruno Inojosa MCP.NET Framework.NET com C#. Aula V  Tópicos abordados:  Desenvolvendo para internet (Parte III) Gerenciamento de Estados User Controls.
Coleções, Genéricos, Threads Marco Antonio. Collection Principais métodos da interface Collection.
7 - Criação de Páginas Web
Fundamentos da Linguagem C#
XIV Jornada de Cursos .NET com C# Antônio Junior Bruno Inojosa.
ASP.NET Conteúdo Introdução
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
1 Visual Basic Maria Alice Grigas Varella Ferreira EP-USP Abril 2003.
Passo a passo – Instrutor
Professor: Pedro Lopes Gestão de Base de dados Ano Lectivo 2010/2011.
HTML - HyperText Markup Language Professora: Fabrícia F. de Souza.
Treinamento do Microsoft ® Office Access 2007 Obtenha o máximo de desempenho A LOGUS INFORMÁTICA apresenta:
LINGUAGEM DE PROGRAMAÇÃO HTML COMPONENTES: ROBSON EDMILSON.
INFORMÁTICA PARA CONCURSOS
Curso Básico de Android
Aula 3. ListView ListView é um componente que mostra uma lista de itens Os itens da lista são automaticamente inseridos usando um adapter, implementado.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Personal Cred Análise Protótipo Sistema e Funcionalidades.
Faculdade Pitágoras – Campus Fadom.  A classe Form é utilizada para a criação de formulários que agregam conjuntos de itens (subclasse de Item), os.
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Algoritmos de Pesquisa
ASP.NET Passo a Passo Pot Pourri de Componentes Componentes a serem estudados neste capítulo 1. Validadores 2. Image, ImageButton e ImageMap 3. Treeview.
ASP.NET Passo a Passo Criando um CRUD Conteúdo do Capítulo 1. Acessar bancos de dados SQL Server 2. Utilizar o GridView 3. Utilizar o DetailView 4. Implementar.
Atividade ASP.NET Portal da Memoria Atividade Desenvolver uma aplicação ASP.NET com funcionalidade similar à existente no site centenário.ifrn.edu.br Objetivo.
IFRN Técnico em Informática para Internet Strings e Arquivos Texto Prof. Gilbert Azevedo.
Módulo II Capítulo 5: Interface Gráfica William Ivanski Curso de Programação C#
Aline Oliveira Everton Godoy Gabriel Leoni Lenilton Rocha Nelson Deda.
Atividade ASP.NET Portal da Memoria Atividade Desenvolver uma aplicação ASP.NET com funcionalidade similar à existente no site centenário.ifrn.edu.br utilizando.
ASP.NET Passo a Passo Configuração Conteúdo do Capítulo 1. Aplicar configurações a aplicações ASP.NET 2. Gerenciar a configuração do ASP.NET usando suas.
ASP.NET Passo a Passo Aparência Uniforme
ListBox O componente ListBox permite que os usuários selecionem um ou mais itens de uma lista preferida. Use o componente ListBox para criar um controle.
ASP.NET Passo a Passo Estado da Seção
Transcrição da apresentação:

ASP.NET Passo a Passo Controles com Processamento Personalizado Criando um controle personalizado 1. Abra ou copie a solução ControlORama desenvolvido no capítulo anterior 2. Adicione um projeto “ASP.NET Server Control” de nome “CustomControlLib” à solução ControlORama. Será criado um controle similar ao Label de nome “ServerControl1”. 3. Adicione o controle criado na caixa de ferramentas

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione um “ASP.NET Server Control” de nome “CustomControlLib” à solução ControlORama

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione o controle criado na caixa de ferramentas. Selecione o menu Tools/Choose Toolbox Items Selecione Browse e localize o arquivo CustomControlLib.dll Confirme para adicionar no toolbox

ASP.NET Passo a Passo Controles com Processamento Personalizado Criando um controle personalizado 1. Adicione ao projeto ControlORama uma nova página (WebForm) de nome “UseCustomControl.aspx”. Arraste do toolbox um controle ServerControl1 para a nova página. 2. Adicione ao formulário um rótulo, uma caixa de texto e um botão. 3. Adicione o código do manipulador do botão

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao projeto ControlORama uma nova página (WebForm) de nome “UseCustomControl.aspx” Arraste do toolbox um controle ServerControl1 para a nova página. Digite na propriedade text a frase: “Testando o controle criado pelo usuário”

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao formulário um rótulo, uma caixa de texto e um botão Ajuste a propriedade text do label para “Digite uma frase” Ajuste a propriedade text do button para “Definir texto do componente criado pelo usuário”

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione o código do manipulador do botão protected void Button1_Click(object sender, EventArgs e) { ServerControl11.Text = TextBox1.Text; }

ASP.NET Passo a Passo Controles com Processamento Personalizado Criando um controle personalizado 1. Adicione ao projeto CustomControlLib um novo item do tipo ASP.NET Server Control e atribua o nome PalindromeCheckerRenderedControl. 2. Adicione ao controle o método StripNonAlphanumerics que retira os caracteres não alfanuméricos de uma string. 3. Adicione ao controle o método CheckForPalindrome que verifica se uma string é palíndroma. 4. Altere o processamento do controle, método RenderContents, para mostrar palíndromos em azul e não palíndromos em vermelho.

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao projeto CustomControlLib um novo item do tipo ASP.NET Server Control. Atribua o nome : PalindromeChecker RenderedControl Palíndromo é uma palavra ou frase que tem a mesma grafia quando lida no sentido normal ou de trás para frente.

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao controle o método StripNonAlphanumerics que retira os caracteres não alfanuméricos de uma string protected string StripNonAlphanumerics(string str) { string strStripped = (String)str.Clone(); if (str != null) { char[] rgc = strStripped.ToCharArray(); int i = 0; foreach (char c in rgc) { if (char.IsLetterOrDigit(c)) { i++; } else { strStripped = strStripped.Remove(i, 1); } } } return strStripped; }

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao controle o método CheckForPalindrome que verifica se uma string é palíndroma. protected bool CheckForPalindrome() { if (this.Text != null) { String strControlText = this.Text; String strTextToUpper = null; strTextToUpper = Text.ToUpper(); strControlText = this.StripNonAlphanumerics(strTextToUpper); char[] rgcReverse = strControlText.ToCharArray(); Array.Reverse(rgcReverse); String strReverse = new string(rgcReverse); if (strControlText == strReverse) { return true; } else { return false; } } else { return false; } }

ASP.NET Passo a Passo Controles com Processamento Personalizado Altere o processamento do controle, método RenderContents, para mostrar palíndromos em azul e não palíndromos em vermelho. protected override void RenderContents(HtmlTextWriter output) { if (this.CheckForPalindrome()) { output.Write("Essa é palíndroma: "); output.Write(" "); output.Write(Text); output.Write(" "); } else { output.Write("Essa NÃO é palíndroma: "); output.Write(" "); output.Write(Text); output.Write(" "); } }

ASP.NET Passo a Passo Controles com Processamento Personalizado Criando um controle personalizado 1. Adicione ao projeto ControlORama uma nova página de nome “UsePalindromeCheckerControl.aspx”. Arraste do toolbox um controle PalindromeCheckerRenderedControl para a nova página. 2. Adicione ao formulário um rótulo, uma caixa de texto e um botão. 3. Adicione o código do manipulador do botão

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao projeto ControlORama uma nova página de nome “UsePalindromeCheckerControl.aspx”. Arraste do toolbox um controle PalindromeChecker RenderedControl para a nova página.

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione ao formulário um rótulo, uma caixa de texto e um botão Ajuste a propriedade text do label para “Digite uma frase” Ajuste a propriedade text do button para “Verificar se é palíndromo”

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione o código do manipulador do botão protected void Button1_Click(object sender, EventArgs e) { this.PalindromeCheckerRenderedControl1.Text = this.TextBox1.Text; }

ASP.NET Passo a Passo Controles com Processamento Personalizado Controles e Eventos Criando eventos personalizados e tratando estes eventos nos formulários 1. Abra o arquivo com a definição do controle criado (PalindromeCheckerRenderedControl.cs) e adicione o evento PalindromeFound. 2. Adicione o código que dispara o evento na atribuição da propriedade Text. 3. Abra a página que contém o componente (UsePalindromeCheckerControl.aspx), retire e coloque o componente para atualizar. 4. Crie o manipulador para o evento e digite o código.

ASP.NET Passo a Passo Controles com Processamento Personalizado Abra o arquivo com a definição do controle criado (PalindromeCheckerRenderedControl.cs) e adicione o evento PalindromeFound. public class PalindromeCheckerRenderedControl : WebControl { public event EventHandler PalindromeFound;... }

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione o código que dispara o evento na atribuição da propriedade Text. Compile a biblioteca CustomControlLib para atualizar o componente no toolbox. set { ViewState["Text"] = value; if (this.CheckForPalindrome()) { if (PalindromeFound != null) { PalindromeFound(this, EventArgs.Empty); }

ASP.NET Passo a Passo Controles com Processamento Personalizado Abra a página que contém o componente (UsePalindromeCheckerControl.aspx), retire e coloque o componente para atualizar. Crie o manipulador para o evento e digite o código. Para criar um manipulador de um evento diferente do padrão é necessário selecionar o evento na janela de propriedades e dar o clique duplo no evento protected void PalindromeCheckerRenderedControl1_PalindromeFound (object sender, EventArgs e) { Response.Write("A página disparou um tratamento de evento de frase palíndroma"); }

ASP.NET Passo a Passo Controles com Processamento Personalizado Ao digitar um palíndromo o evento é disparado.

ASP.NET Passo a Passo Controles com Processamento Personalizado Parâmetro HtmlTextWriter e Tags HTML Substituindo comandos HTML por métodos para obter compatibilidade de versão de HTML e navegadores 1. Abra o arquivo com a definição do controle criado (PalindromeCheckerRenderedControl.cs) 2. Substitua os códigos HTML inseridos diretamente no método RenderContents pelos métodos RenderBeginTag e RenderEndTag da classe output.

ASP.NET Passo a Passo Controles com Processamento Personalizado Substitua os códigos HTML pelos métodos da classe output. protected override void RenderContents(HtmlTextWriter output) { if (this.CheckForPalindrome()) { output.Write("Essa é palíndroma: "); output.RenderBeginTag(HtmlTextWriterTag.Font); output.AddStyleAttribute(HtmlTextWriterStyle.Color, "blue"); output.RenderBeginTag(HtmlTextWriterTag.B); output.Write(Text); output.RenderEndTag(); // bold output.RenderEndTag(); // font } else { output.Write("Essa NÃO é palíndroma: "); output.RenderBeginTag(HtmlTextWriterTag.Font); output.AddStyleAttribute(HtmlTextWriterStyle.Color, "red"); output.RenderBeginTag(HtmlTextWriterTag.B); output.Write(Text); output.RenderEndTag(); // bold output.RenderEndTag(); // font } }

ASP.NET Passo a Passo Controles com Processamento Personalizado Controle e a ViewState Armazenando dados na ViewState da página 1. Abra o arquivo PalindromeCheckerRenderedControl.cs para introduzir nele uma lista com os palíndromos encontrados 2. Altere o método set da propriedade Text para armazenar os palíndromos encontrados 3. Crie um método para apresentar os palíndromos utilizando um layout de tabela 4. Adicione o método de apresentação da lista à apresentação do componente 5. Visualize a aplicação e digite vários palíndromos

ASP.NET Passo a Passo Controles com Processamento Personalizado Abra o arquivo PalindromeCheckerRenderedControl.cs para introduzir nele uma lista com os palíndromos encontrados... using System.Collections; namespace CustomControlLib {... public class PalindromeCheckerRenderedControl : WebControl { public event EventHandler PalindromeFound; ArrayList alPalindromes = new ArrayList();... }

ASP.NET Passo a Passo Controles com Processamento Personalizado Altere o método set da propriedade Text para armazenar os palíndromos encontrados set { ViewState["Text"] = value; string text = value; this.alPalindromes = (ArrayList)this.ViewState["palindromes"]; if (this.alPalindromes == null) // Cria Lista { this.alPalindromes = new ArrayList(); } if (this.CheckForPalindrome()) { if (PalindromeFound != null) // Chama Evento { PalindromeFound(this, EventArgs.Empty); } alPalindromes.Add(text); // Adiciona palindrome na lista } ViewState.Add("palindromes", alPalindromes); // Salva lista no ViewState }

ASP.NET Passo a Passo Controles com Processamento Personalizado Crie um método para apresentar os palíndromos utilizando um layout de tabela protected void RenderPalindromesInTable(HtmlTextWriter output) { if (this.alPalindromes.Count > 0) { output.AddAttribute(HtmlTextWriterAttribute.Width, "50%"); output.AddAttribute(HtmlTextWriterAttribute.Border, "1"); output.RenderBeginTag(HtmlTextWriterTag.Table); // foreach (string s in this.alPalindromes) { output.RenderBeginTag(HtmlTextWriterTag.Tr); // output.AddAttribute(HtmlTextWriterAttribute.Align, "left"); output.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "medium"); output.AddStyleAttribute(HtmlTextWriterStyle.Color, "blue"); output.RenderBeginTag(HtmlTextWriterTag.Td); // output.Write(s); output.RenderEndTag(); // } output.RenderEndTag(); // } }

ASP.NET Passo a Passo Controles com Processamento Personalizado Adicione o método de apresentação da lista à apresentação do componente protected override void RenderContents(HtmlTextWriter output) {... output.Write(" "); RenderPalindromesInTable(output); }

ASP.NET Passo a Passo Controles com Processamento Personalizado Visualize a aplicação e digite vários palíndromos