Download - ASP.net 4.0 Avancado Versao Final
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
1/166
TMSASP35AV
Novembro/2010
Apostila desenvolvida especialmente para a Target Informtica Ltda.Sua cpia ou reprodu!o " e#pressamente proi$ida.
%ovem$ro&'()(
ASP.NET 4.0
Avanado
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
2/166
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
3/166
ASP.%*T 3.5 Avanado
Sumrio
1. Segurana................................................................................1+$,etivos.............................................................................................................'-onceitos de Segurana......................................................................................3a$ilitando o site para utili/ar o gerenciamento de segurana do Asp.%et 0.(..5
*ntendendo o gerenciamento da segurana.................................................1-riando 2surios e e#plorando a estrutura criada.........................................Validando usurios com o Login..................................................................))2tili/ando o -4angePassord para trocar as sen4as...................................)'*ntendendo e utili/ando os controles LoginStatus6 Login%ame e LoginVie....................................................................................................................)3
7erenciamento Manual de usurios..................................................................)8-lasses Mem$ers4ip e Mem$ers4ip2ser.....................................................)2tili/ando 7rupos........................................................................................)9
*#erc:cios..........................................................................................................'3*spao para Anota;es................................................................................'0
2. Globalizao e Localizao.......................................................25+$,etivos...........................................................................................................'1+
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
4/166
ASP.%*T 3.5 AvanadoLI%C to SCL.......................................................................................................8
*ntendendo o >ata-onte#t..........................................................................82tili/ando LI%C to SCL em nossa aplica!o.................................................89
2tili/ando LI%C to SCL em 3 camadas..............................................................1*#erc:cios..........................................................................................................98
*spao para Anota;es................................................................................9
*. ,anuteno de $!tado.............................................................++Session............................................................................................................)()iddenField......................................................................................................)(0
VieState...................................................................................................)(0Cuer?String...............................................................................................)(5-ooGies......................................................................................................)(1Application.................................................................................................)(1
*#erc:cios........................................................................................................)(9*spao para Anota;es..............................................................................))(
-. 'eb Service!........................................................................111+$,etivos.........................................................................................................))'e$ Services...................................................................................................))3-riando e utili/ando um e$ Service..............................................................))5-4amando um HML e$ Service por TTP.....................................................))82tili/ando um e$Service e#terno..................................................................))9*#erc:cios........................................................................................................)'3
*spao para Anota;es..............................................................................)'0
. Utilizando "" no "S#.N$%....................................................125+$,etivos.........................................................................................................)'1+
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
5/166
ASP.%*T 3.5 Avanado+ tipo Assem$l?%ame...............................................................................)0+ tipo Module............................................................................................)09
Tra$al4ando com Tipos....................................................................................)5(ecuperando um o$,eto T?pe....................................................................)5(
2tili/ando eJection em nossa aplica!o........................................................)5)*spao para anota;es...................................................................................)51
10. 3i!tribuindo !ua "licao.....................................................15-+$,etivos.........................................................................................................)5>istri$uindo sua Aplica!o ASP.%*T................................................................)59
Pu$licando sua aplica!o...........................................................................)1(*spao para Anota;es...................................................................................)1'
T@rgetTrust Treinamento & Tecnologia III
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
6/166
ASP.%*T 3.5 Avanado
).). SeguranaSegurana
T@rgetTrust Treinamento & Tecnologia 1
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
7/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
8/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Conceito! de Segurana
7arantir a segurana de sites " uma
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
9/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Forms Aut4entication Provider.
A autentica!o $aseada no indos Aut4entication Provider utili/a ousurio indos corrente no IIS como o usurio autenticado em uma aplica!oAsp.net. *la " $em utili/ada para aplicativos asp.net do tipo Intranet para
aproveitar as credencias do usurio para ter permiss!o em determinadosdiretrios.
A autentica!o $aseada no Forms Aut4entication Provider permiteautenticar usurios usando seu prprio cdigo e depois manter um toGen deautenti!o em um cooGie ou no 2L da pgina.
Para usar a autentica!o $aseada em formulrios voc@ cria uma pagina delogin
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
10/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
6abilitando o !ite ara utilizar ogerenciamento de !egurana do "!.Net &.0
Ao criarmos um pro,eto no Visual Stuido '()( podemos utili/ar o templateRAsp.%et e$ Application. *sse template ir criar uma aplica!o asp.net comas pginas responsveis por implementar a segurana dentro da pastac4amada Account. + pro,eto , estar conKgurado para utili/armos ogerenciamento de segurana do asp.net.
Mas para entendermos como implementar de uma forma eKciente aautentica!o $aseada em formulrios6 a aplica!o $ase de nosso curso "$aseada no template RAsp.%et *mpt? e$ Application
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
11/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*ssa conKgura!o deve ser inserida dentro da Tag s?stem.e$U do
ar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
12/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
2m e#emplo prtico seria um sistema de um frum onde para ter acesso ousurio deve ser cadastrar no sistema. >essa forma a pgina de cria!o deusurios teria livre acesso e as pginas do frum s seriam acessadas porusurios logados.
%a montagem das pginas de nossa aplica!o ns deKnimos uma pginaresponsvel por criar novos usurios c4amada R%e2ser.asp#. VamosconKgurar em nossa aplica!o
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
13/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Agora vamos rodar nosso sistema com a pgina >efault.asp# setada comopgina inicial de nossa aplica!o. Poderemos ver
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
14/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps ter inserido esse cdigo no %e2ser.asp#6 colo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
15/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps termos criado o usurio vamos voltar em nossa aplica!o e vamose#plorar a estrutura criada pelo asp.net para gerenciamento dos dadosreferentes aos usurios do sistema.
Para e#plorarmos a estrutura criada devemos ir ao Solution *#plorer e
e#pandir a pasta AppZ>ata6 note M.M>F. >entro deste $anco estar!o as ta$elasresponsveis por arma/enar todos os usurios e informa;es relacionadas segurana em nossa aplica!o.
Ao darmos um duplo cliata$ase *#plorer. >essa forma poderemos analisar toda a estrutura deta$elas de nosso $anco de dados. Visuali/e os dados da ta$ela aspnetZ2sers eperce$a
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
16/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
2ma das grandes limita;es de tra$al4ar com o modelo de gerenciamentode segurana do asp.net " D.M>F e muitas ve/es efault.asp#6 caso digitemos usurio ou sen4aerrado6 Kcaremos trancados na tela de login.
-om esse controle o asp.net gerencia todo o controle de acesso ao nossosistema e n!o precisamos programar nen4uma lin4a.
T@rgetTrust Treinamento & Tecnologia 11
http://msdn.microsoft.com/en-us/library/6tc47t75.aspxhttp://msdn.microsoft.com/en-us/library/6tc47t75.aspx -
8/10/2019 ASP.net 4.0 Avancado Versao Final
17/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
2tili/ando o -4angePassord para trocar as sen4as
+utra funcionalidade importante
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
18/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps termos reali/ado a altera!o de uma sen4a o controle deveapresentar uma mensagem informando
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
19/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+utra funcionalidade importante em aplica;es e$ " apresentar o nomedo usurio
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
20/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ controle " formado por dois templates Anon?mous e Loggedin. %otemplate Anon?mous colocaremos o contedo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
21/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
T@rgetTrust Treinamento & Tecnologia 16
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
22/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Gerenciamento ,anual de u!u=rio!
Vimos at" agora como podemos implementar segurana em nossasaplica;es asp.net utili/ando os controles disponi$ili/ados pelo asp.net. +scontroles encapsulam todas as regras de negcio e funcionam de uma formapr"deKnida em seu desenvolvimento.
Muitos programadores simplesmente n!o gostam de dei#ar ogerenciamento de uma funcionalidade t!o importante6 como a segurana dosite6 ao cargo de controles em uncionalidade
Mem$ers4ip esponsvel por validar credenciais deusurios e gerenciar conKgura;es de
usurios.
Mem$ers4ip-reate2ser*#ception Arma/ena os poss:veis erros ao criarnovos usurios.
Mem$ers4ipPassord*#ception Arma/ena os poss:veis erros refentes asen4as dos usurios.
Mem$ers4ipProvider >eKne os contratos de implementa!odo mem$ers4ip provider do asp.netcom providers customi/ados.
Mem$ers4ip2ser esponsvel por $uscar e atuali/arinforma;es do usurio na $ase dedados.
oles 7erencia a participa!o do usurio emgrupos de fun;es.
*m fun!o de possuirmos muitas classes nesse namespace estamoscitando apenas algumas classes. Para um estudo mais aprofundado de todas
as op;es acesse 4ttp&&msdn.microsoft.com&enus&li$rar?&Gt5ssstG.asp#
T@rgetTrust Treinamento & Tecnologia 17
http://msdn.microsoft.com/en-us/library/kt5ssstk.aspxhttp://msdn.microsoft.com/en-us/library/kt5ssstk.aspx -
8/10/2019 ASP.net 4.0 Avancado Versao Final
23/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
-lasses Mem$ers4ip e Mem$ers4ip2ser
*ssas duas classes podem ser consideradas as mais importantes
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
24/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
2tili/ando 7rupos
*studamos os m"todos de gerenciamentos de usurios implementados comcontroles e com o au#ilio de classes manuais6 mas ainda falta entendermoscomo funcionam os 7ruposNrolesO dos usurios.
7rupos servem para deKnir perKs dos usurios
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
25/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Cuando renderi/armos nossa pgina ela deve Kcar com o seguinteaspecto.
+ pr#imo passo " carregarmos a listDo# de usurios com todos osusurios dispon:veis e gerarmos um m"todo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
26/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Vamos inserir o seguinte cdigo na pgina cad7rupos.asp#.
%ote ata$ind para
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
27/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
%este cdigo " pego o nome do usurio
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
28/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
$9erc8cio!
). -rie uma aplica!o e$
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
29/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 24
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
30/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
'.'. 7lo$ali/a!o e7lo$ali/a!o eLocali/a!oLocali/a!o
T@rgetTrust Treinamento & Tecnologia 25
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
31/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
32/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
; ?ue @ globalizao e localizaoA
7lo$ali/a!o " o processo de criar uma aplica!o
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
33/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Localizando valore! em uma alicaoa!.Net
Para etectar automaticamente a cultura do usurio]
>etectar automaticamente a cultura do usurio e caso n!o gerenciea cultura corrente utili/ar uma cultura padr!o]
Forar a utili/a!o de uma determinada cultura.
Agora para alcanarmos um entendimento da utili/a!o de culturas6vamos conKgurar nossa aplica!o para tra$al4ar com culturas.
-omo nossa aplica!o tra$al4a com Master.Pages vamos colocar umcontrole na master efault.asp#. Vamos colocar em dois lugares diferentes para
acompan4armos os cuidados
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
34/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ pr#imo passo " inserirmos o seguinte cdigo na pagina de cdigos doMain.master.
-om estas altera;es sempre
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
35/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Vamos deKnir a l:ngua americana para ser o idioma default do $roser evamos rodar nossa aplica!o. Podemos ver
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
36/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
programadores. Image a seguinte situa!o Temos uma aplica!o asp.net
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
37/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
%raduzindo interBace! do u!u=rio com oa!.net
2m aspecto fundamental para efault.asp# e su$stituir oste#tos digitados na pgina por la$els. + asp# da pgina deve Kcar conforme aKgura a$ai#o.
Agora nossa pgina possui duas la$els Nl$lDemVindo e l$lIntro-ursoO
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
38/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
%a tradu!o por pgina devemos vincular um ar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
39/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
>entro do arefault.asp# do nosso e#emplo. + ar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
40/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ pr#imo passo " alterar nossa pagina para
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
41/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
vantagem da tradu!o glo$al do sistema "
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
42/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
>iferentemente da tradu!o por pgina em
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
43/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
$9erc8cio!
). Implementa a tradu!o6 por pgina6 na pgina de login.'. Faa com
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
44/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 39
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
45/166
ASP.%*T 3.5 Avanado
3.3. 2tili/ando -omponentes2tili/ando -omponentesno ASP.%*Tno ASP.%*T
T@rgetTrust Treinamento & Tecnologia 40
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
46/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
;blls e#ternas
Instanciar classes de outros assem$l?s
T@rgetTrust Treinamento & Tecnologia 41
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
47/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
; ?ue !o comonente!A
>esde as primeiras vers;es das ferramentas de desenvolvimentoMicrosoft6 umas das caracter:sticas mais marcantes nestas ferramentas " acapacidade de utili/armos recursos para reutili/a!o de cdigo. %as aplica;esASP.%*T isto n!o " diferente. Cuando constru:mos uma aplica!o em ASP.%*T6o ideal " tentarmos dividir a aplica!o em mdulos menores6 a Km de tornar ogerenciamento e a manuten!o da aplica!o mais facilitada.
Para criarmos uma aplica!o mais modulari/ada podemos fa/er uso decomponentes no ASP.%*T. +s componentes s!o $locos de cdigo compiladosem um assem$l? N>LLO
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
48/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
2tili/ando uma >LL e#terna
Para entendermos a utili/a!o de >lls e#ternas6 vamos implementar afuncionalidade do 7oogle maps em nossa aplica!o.
Pege a >LL 7Maps no site N 4ttp&&googlemaps.su$gurim.net&descargar.asp#O e adicione referencia em nosso pro,eto da >ll gmaps.dll.
>epois disso6 adiciona em sua e$.conKg um AppSettingsU e uma Ge?U
+ pr#imo passo " criarmos um novo e$ form em nossa aplica!oc4amado RMapa. Aps criarmos o formulrio vamos adicionar um item nomenu principal6 para
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
49/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Ao e#ecutar nossa aplica!o6 no campo latitude colo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
50/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
-om esse e#erc:cio podemos ver como " simples e fcil a utili/a!o de >llse#ternas em nossas aplica;es .net6 onde aps inserirmos a refer@ncia6 da dlle#terna6 em nosso pro,eto podemos comear a utili/ar suas classes e seuso$,etos livremente6 da mesma forma
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
51/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
#rivate "!!embl7! e Sared "!!embl7!
Se voc@ estiver construindo um componente para um pro,eto do tipo e$Site6 note
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
52/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Se tentarmos incluir um componente da a$a R.%*T ao inv"s da a$aPro,ect ou Drose6 iremos perce$er um comportamento diferente para estescomponente. Se adicionarmos ao Pro,ect o componente S?stem.Transactionspor e#emplo6 ao compilarmos o pro,eto6 podemos perce$er LL deste
componente n!o " adicionada a pasta DI% do pro,eto. Isto ocorre por
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
53/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 48
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
54/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
T@rgetTrust Treinamento & Tecnologia 49
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
55/166
ASP.%*T 3.5 Avanado
0.0. e$ Partse$ Parts
T@rgetTrust Treinamento & Tecnologia 50
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
56/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
57/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
; ?ue !o :eb art! A
2m dos grandes aspectos $uscados por aplica;es e$ s!o umainteratividade maior com o usurio6 onde o usurio possa deKnir aspectos decustomi/a!o pessoais6 atingindo dessa forma uma gama maior de poss:veisusurios. As customi/a;es
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
58/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
capacidade de reutili/a!o de cdigo e de inser!o de novas funcionalidadescom um custo menor de esforo.
A ar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
59/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
As /onas de e$ Parts gerenciam o la?out de um grupo de controles.Pronto para o uso6 o ASP.%*T inclui
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
60/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Al"m de incluir vrias /onas predeKnidas o ASP.%*T fornece algunscontroles e'+art. Alguns s!o para gerenciar catlogos6 en
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
61/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
' [ %a pgina >efault.asp# insira um controle e$PartManager6 logoa$ai#o do pargrafo onde est a la$el Rl$lMsgTeste. *ste e$PartManagerser responsvel por gerenciar todas as e$Parts de nossa pgina.
3 [ Insira uma div eKna o autoFormat da primeirae$PartBone para Professional e o da segunda para -olorFul.
5 [ >entro da tag BoneTemplate de cada e$PartBone vamos inseriralguns 4?perlinGs. %a primeira adicione dois 4?perlinGs6 um apontando para o
site da Target Trust e o outro apontado para o site da Microsoft. %a segundae$PartBone adicione mais dois 4?perlinGs6 desta ve/ um apontando para osite da MS>% e o outro apontando para o site do Asp.%et. + cdigo asp#resultante do passo 0 e do passo 5 pode ser visuali/ado na Kgura a$ai#o.
T@rgetTrust Treinamento & Tecnologia 56
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
62/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
1 [ Agora vamos e#ecutar nossa aplica!o e poderemos ver
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
63/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
8 [ + pr#imo passo " implementarmos uma forma em rop>onList. A drop serresponsvel por alterar os modos de e#i$i!o da pgina. + drop deve serc4amado de R>rop>onList>ispla?Modes. + cdigo asp# pode ser visuali/adona imagem a$ai#o.
As e$ parts do ASP.%*T d!o suporte a cinco modos de e#i$i!o
Dro:!e3i!la7,ode *sse " o modo normal. %!odisponi$ili/a personali/a!o ou edi!o.
3e!ign3i!la7,ode Ativa a personali/a!o de la?outarrastar e soltar.
$dit3i!la7,odeAtiva a personali/a!o de propriedadese'+arte permite ao usurio e#cluir as e$ Parts.
Connect3i!la7,odePermite conectar as e$ Parts emtempo de e#ecu!o.
Catalog3i!la7,odePermite adicionar as e$ Parts emuma e'+art,oneem tempo de e#ecu!o.
[ Agora vamos atuali/ar o cdigo de nossa pgina >efault.asp#. +
cdigo deve Kcar igual ao cdigo a$ai#o. %o cdigo a seguir " adicionado ummem$ro e'+art)anagerdenominado Z#)anager classe para arma/enar ainstancia do e'+art)anager atual da pgina. X atuali/ado o m"todo
T@rgetTrust Treinamento & Tecnologia 58
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
64/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ageZInitpara ane#ar um manipulador de eventos ao evento InitCom#letedapgina. + cdigo e#amina detal4adamente o e'+art)anageratual em $uscados modos de e#i$i!o rop>onList. + cdigo ser responsvel por atuali/ar o modo de e#i$i!o doe$PartManager.
T@rgetTrust Treinamento & Tecnologia 59
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
65/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
)( [ + pr#imo passo " su$stituir o m"todo Preender da pgina6 paraon apresente omodo de e#i$i!o atual do e$PartManager.
)) *#ecute o site e note
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
66/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Agora vamos e#ecutar nossa aplica!o e voc@ poder ver rop>onList. Ao selecional ser4a$iltiado em cada e$ part a op!o de edi!o. Cuando utili/armos a edi!o ocontrole *ditorBone e o Appearance*ditorPart ser!o apresentados para
intera!o.)3 Aps termos utili/ado o *ditorBone6
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
67/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Agora vamos e#ecutar a pgina novamente. Alterne para -atalog Mode6maressa forma podemos ver como " poss:vel adicionar emtempo de e#ecu!o novos controles e$Parts a nossa pgina. A Seguir iremos
criar uma e$ Part e iremos utili/ar essa estrutura para ll em nossa solu!o e c4amal dee$PartLi$. >entro dessa >ll iremos colocar nossa e$Part. Vamos adicionar
T@rgetTrust Treinamento & Tecnologia 62
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
68/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
uma classe c4amada ?perLinGe$Part a nossa >ll. *ssa classe ser a nossae$Part. Aps termos e#ecutado essas a;es nosso Solution *#plorer deveestar conforme a imagem a$ai#o.
' [ >evemos colocar refer@ncia ao S?stem.e$ em nossa >ll. Isso "
necessrio porll.
3 [ + pr#imo passo " adicionarmos os using na classe ?perLinGe$Parte implementarmos a 4erana das e$Parts na classe. + cdigo deve Kcarconforme a Kgura a$ai#o.
T@rgetTrust Treinamento & Tecnologia 63
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
69/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
0 [ A seguir vamos inserir duas variveis privadas6 do tipo string na classe?perLinGe$Part6 uma para representar o nome de e#i$i!o da e$ Part e aoutra para representar o 2L real. Am$a ser!o iniciali/adas com valores>efaults. Aps inserirmos essas duas variveis vamos inserir outra varivelprivada6 do tipo ?perLinG6
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
70/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps o ll e adicionar a refer@ncia entre os pro,etos.
Aps termos adicionado a refer@ncia entre os pro,etos note
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
71/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ pr#imo passo agora " utili/armos nossa e$ part. Para isso vamos emnossa pgina >efault.asp# e colo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
72/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
-om esses e#erc:cios pudemos ver como utili/ar e$ parts6 suas /onas ecomo " fcil criarmos nossas prprias e$ parts. Vimos tam$"m
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
73/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
$9erc8cio!
). Adicione uma terceira coluna nossa aplica!o e insira alguns controlespara tra$al4arem como e$ part.
'. -rie uma e$ part onde o usurio digite uma categoria e a e$ partapresenta o nome do departamento
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
74/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 69
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
75/166
ASP.%*T 3.5 Avanado
5.5. LI%CLI%C
T@rgetTrust Treinamento & Tecnologia 70
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
76/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
77/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
; ?ue @ o L(N)
LI%C NLanguage Integrated Cuer?O " uma funcionalidade6 inclu:da no
frameorG 3.56
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
78/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
-onsulta A consulta especiKca
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
79/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
L(N) %; ;D$C%S
A deKni!o de Lin< to +$,ects referese a utili/ar consultas Lin< com
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
80/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
A solution e#plorer deve Kcar conforme a imagem a$ai#o.
' [ Agora vamos inserir um item no menu de nossa aplica!o6
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
81/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Inserir refer@ncia a S?stem.Te#t
>eclarar um arra? de int6 c4amado %meros6 com um taman4o de 5posi;es e iniciali/e o arra? com os valores 96 9(6 )6 '3 e )1. + arra?deve ser protected e deve ser vis:vel em
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
82/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
A palavra var signiKca
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
83/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps termos inseridos esses cdigos6 vamos salvar nossa aplica!o erodar o sistema. Poderemos ver
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
84/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
L(N) to S)L
LI%C to SCL " uma implementa!o do LI%C +.%*T mantendo o conceito de orienta!o a o$,etos= 7eralmente efetuamosa representa!o das ta$elas em classes em forma ataeader.
'. eali/ando o mapeamento o$,etorelacional usando >ataSets e oacesso de dados atrav"s de >ataAdapters ou Ta$leAdapters.
+ o$,etivo do LI%C to SCL " reunir o mel4or das duas op;es de forma
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
85/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ >ata-onte#t possui diversos m"todos ata-onte#t para mapear stored procedures e fun;es de forma escritor de +$,eto elacional pode ser feita gerenciando o cdigo do>ata-onte#t6 mas os gan4os em tempo esigner nos fornece aca$afa/endo com
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
86/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps termos adicionado o item o >escritor de +$,eto elacional N+&>esignerO ser apresentado e o arata.
A interface va/ia corresponde ao >ata-onte#t esigner apresenta dois paneis. + primeiro e#i$e as classes deentidades e o segundo e#i$e os m"todos do >ata-onte#t. A Kgura a$ai#oapresenta o >ata-onte#t va/io.
T@rgetTrust Treinamento & Tecnologia 81
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
87/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
0 [ + pr#imo passo " criarmos as classes LI%C to SCL ata$ase *#plorer6 as ta$elas
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
88/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
5 [ Aps termos preparado nosso >ata -onte#t estamos pronto parautili/ar as classes geradas pelo conte#to em nossa aplica!o. Para isso vamosadicionar uma classe c4amada -ategorias dentro da pasta >ata e vamos criaro m"todo get-ategorias. + cdigo do m"todo pode ser visto a$ai#o.
Ao analisarmos o m"todo perce$emos
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
89/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
interface I*numera$le " um resultado Linata-onte#t.
* o retorno " uma consulta LI%C
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
90/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Ao analisarmos o cdigo podemos visuali/ar a utili/a!o do ,oin6 do 4eree do order$?.
A se!o ,oin fa/ a uni!o entre o$,etos a partir de campos c4aves6 no nossom"todo estamos ,untando o o$,eto Products com o o$,eto Product-ategories de cada o$,eto se,am iguais.
A se!o 4ere Kltra os dados a partir de uma e#press!o6 em nossoe#erc:cio estamos Kltrando o o$,eto -ategories onde o -ategor?I> se,a igual aoidcategoria informado na c4amada do nosso m"todo.
A se!o order$? orderna os dados da consulta6 no nosso caso estamosordenando a consulta pelo campo ProductI>.
9 [ + pr#imo passo " adicionar um gridvie a nossa pgina6 vamosc4amar o gridvie de grdLivros e vamos atri$uir algum formato ao autoformatdo grid.
)( [ Vamos adicionar um >ata Source ao nosso grid. + data source deveutili/ar o$,etos como fonte de dados e no select do datasource vamosselecionar o m"todo getProdutosPor-ategoria ataSource ir nos perguntar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
91/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
)' [ -rie uma op!o no menu para acessar a pgina.Vamos rodar nossa aplica!o e note
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
92/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Utilizando L(N) to S)L em E camada!
X comum termos dvidas referentes a utili/a!o de 3 camadas. Mas aKnalo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
93/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
con4ecimento de nosso $anco6 o m#imo AL6 criandomais uma a$stra!o at" o $anco de dados e gerenciando todo o acesso e a
persist@ncia dos dados ,unto com o $anco.
Agora vamos passar da teoria para a prtica preparando nossa aplica!opara tra$al4ar em 3 camadas e implementando um formulrio de cadastro deprodutos em 3 camadas e utili/ando LI%C to SCL como o responsvel pelacamada de dados.
Vamos seguir os seguintes passos para e#ecutar essa implementa!o
) [ Adicione uma nova -lass Li$ra? em nossa aplica!o c4amada>ALZDalloon6 dentro desta >LL iremos implementar a camada de dados.
' [ Adicione uma nova -lass Li$rar? em nossa aplica!o c4amadaDLLZDalloon6 dentro desta >LL iremos implementar a camada de negcio.
3 [ + pr#imo passo " montar as refer@ncias entre os pro,etos. %o nossosite vamos adicionar refer@ncia a dll DLLZDalloon e na dll DLLZDalloon vamosadicionar refer@ncia a dll >ALZDalloon.
0 [ >evemos inserir refer@ncia ao S?stem.>ata.Lin< nos pro,etosDLLZDalloon e >ALZDalloon.
5 [ Aps termos reali/ados as conKgura;es iniciais vamos montar anossa camada de dados. -rie um >ata-onte#t na >ALZDalloon6 c4amado deRd$Z>AL.d$ml e adicione todas as ta$elas do $anco Dalloon ao >ata-onte#tfa/endo com ata-onte#t deve Kcar conforme a imagem a$ai#o.
T@rgetTrust Treinamento & Tecnologia 88
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
94/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps termos atuali/ado o >ata-onte#t aca$amos de terminar toda acamada de dados de nossa aplica!o. %ote como a utili/a!o do LI%C to SCLfacilita6 e muito6 a integra!o com $anco de dados. Se fosse utili/ado A>+.%*Tter:amos ll DLLZDalloon uma classe de negocio c4amadaRProdutos.
8 [ Insira dentro da classe produtos um using para a >ll da camada dedados6 >ALZDalloon6 e insira as seguinte propriedades.
ProductI> [ int]
%ame [ String]
>escription [ String]
T@rgetTrust Treinamento & Tecnologia 89
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
95/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Price [ decimal]
+n-atalogPromotion [$ool]
+n>epartmentPromotion [ $ool]
A classe produtos deve Kcar conforme a imagem a$ai#o aps inserirmosas propriedades.
[ %a se
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
96/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
9 [ Aps ter criado o m"todo compile a DLL.
)( [ + pr#imo passo " ir at" o e$ site e criar uma pgina e$ ata`e?%ames com a c4aveRProductI> Na c4ave primria da ta$ela de produtos.
)' [ Aps termos inserido o grid vamos programar os m"todos paradisparar o >ataDind do gridvie. + cdigo deve ser inserido conforme a$ai#o.
T@rgetTrust Treinamento & Tecnologia 91
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
97/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
)3 [ + pr#imo passo " montarmos os campos da interface6 parapodermos inserir e alterar registros na tela de cadastro de produtos. Acima dogridVie insira uma Tag 'U e colo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
98/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
+ m"todo do $ot!o novo limpa todos os campos e marca o productI> com
R( N/eroO. 2tili/aremos essa informa!o na implementa!o de nossa lgica6dentro da interface.
)5 [ Agora vamos comear a gerar os m"todos de -2> dentro da nossacamada de negcio. + primeiro m"todo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
99/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
%a se " /ero. Sefor /ero ent!o " um registro para ser inserido6 sen!o ir ser um registro paraser alterado Na c4amada do m"todo Alteraregistro ser criada posteriormentenesse e#erc:cioO. Ao c4amarmos o m"todo inserir registro6 criamos um o$,etode negcio6 preenc4emos as propriedades dele com os valores de nossosacontroles de tela e c4amamos o m"todo inserir de nossa camada de negocio.
)8 [ Aps os m"todos de inclus!o terem sido criados vamos criar umm"todo na classe de negcio responsvel pela altera!o de registros. + cdigo
do m"todo pode ser visto a$ai#o.
T@rgetTrust Treinamento & Tecnologia 94
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
100/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
) [ *m se
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
101/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
'( [ Agora
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
102/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
X importante salientar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
103/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
$9erc8cio!
) [ 7ere um arra? de 5( numeros e implemente Kltros de pes
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
104/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 99
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
105/166
ASP.%*T 3.5 Avanado
1.1. Manuten!o de *stadoManuten!o de *stado
T@rgetTrust Treinamento & Tecnologia 100
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
106/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
2ma das caracter:sticas das aplica;es e$ "
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
107/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Se!!ion
2ma das formas mais simples de manuten!o de estado " atrav"s devariveis de sess!o. -ada varivel esta associada ao cooGie de identiKca!o dousurio. Por padr!o6 estas informa;es est!o arma/enadas no prprio processodo ASP.%*T. 2ma novidade da era .%*T foi a possi$ilidade de arma/enamentode informa;es de sess!o em um processo separado Num servidor de estadoOou at" mesmo em um S7D>. Isto trou#e novos 4ori/ontes ao desenvolvimentode aplica;es e$ em ASP.%*T6 pois simpliKcou a cria!o dos c4amados e$Forms6 termo
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
108/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
' [ Insira uma la$el na pagFinal.asp#6 o nome da la$el deve serRl$lesultadoSession. + cdigo asp# da pagFinal pode ser visto a$ai#o.
3 [ >@ dois cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
109/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps termos e#ecutado esse e#erc:cio6 rode o sistema6 navegue at" apagInicial e envie os dados para o outro formulrio. %ote
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
110/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
6idden>ield
2ma das formas mais simples e antigas de manter estado dentro de umamesma pgina " atrav"s de campos ocultos. + valor atri$u:do ao controle "mantido na propriedade value entre post $acGs6 por"m n!o " renderi/ado napgina. Image um idenField como uma te#tDo# invis:vel
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
111/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Cuer?String
+utro modelo clssico de manuten!o de estado " o atrav"s do uso de
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
112/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Aps ter inserido os cdigo rode a aplica!o6 navegue at" a pagInicial6
escreva algum te#to na te#t$o# Rt#tCue?String6 cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
113/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
uma la$el dentro da pagInicial6 para mostrar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
114/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
Voc@ pode ser perguntar como foi poss:vel recuperar o valor ,
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
115/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
$9erc8cio!
) [ 2tili/e sess;es para arma/enar o >ataSource de um gridvie ecarregue o grid vie com o data source a cada re
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
116/166
$rror4 U!e te 6ome tab to al7 %8tulo 1 to te te9t tat 7ou :antto aear ere.
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 111
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
117/166
ASP.%*T 3.5 Avanado
8.8. e$ Servicese$ Services
TbrgetTrust Treinamento Tecnologia 112
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
118/166
e$ Services
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
119/166
e$ Services
'eb Service!
; ?ue @ um 'eb !erviceA
2m e$ service " um componente utili/ado na integra!o de sistemas deplataformas diferentes. +s e$ services fornecem uma facilidade para clientese fornecedores e podem ser vistos como um componente de alcance glo$al.
+s e$ services usam o protocolo padr!o TTP N?perte#t TransferProtocolO para transmitir dados e um formato de dados portvel
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
120/166
e$ Servicesservice e um ar
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
121/166
e$ Services
Criando e utilizando um 'eb Service
Vamos implementar em nossa aplica!o um e$ service local. Para isso
vamos seguir os passos a$ai#o.) [ Insira duas pastas em nosso e$ site. 2ma pasta c4amada
Pagese$Service6 onde Kcar!o as pginas
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
122/166
e$ Servicesum Dutton. 2tili/e o cdigo a$ai#o para montar seu asp#. + o$,etivo do e$form " apresentar duas te#t$o# para
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
123/166
e$ Services
Camando um ,L 'eb Service or 6%%#
+ processo de c4amar um e$ Service por TTP6 tam$"m c4amado de
acesso direto6 " tipicamente usado por desenvolvedores em tempo dedesenvolvimento para identiKcar e testar e$ Services. + acesso diretopermite
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
124/166
e$ Services
A especiKca!o do 2>>I deKne uma maneira de pu$licar e procurar
informa;es a respeito de um e$ Service e a respectiva empresa
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
125/166
e$ Services
Utilizando um 'ebService e9terno
Vamos implementar em nossa aplica!o a utili/a!o de um e$Service
e#terno. Siga os passos a$ai#o para e#ecutar este e#erc:cio.) [ Insira um e$ form6 na pasta Pagese$Service6 c4amado
2tili/andoS*#terno.asp#.
' [ -li
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
126/166
e$ Services0 [ >ando se
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
127/166
e$ Services
%ote
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
128/166
e$ Services
[ >@ dois cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
129/166
e$ Services
$9erc8cio!
*stes e#erc:cios vis!o revisar o contedo visto ao longo deste cap:tulo
so$re HML e$ Services.). +nde devese procurar informa;es so$re e$ Services dispon:veis=
'. -omo poderia se testar um e$ Service rapidamente para ver osm"todos e parQmetros esenvolva um e$ service
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
130/166
e$ Services
*spao para Anota;es
T@rgetTrust Treinamento & Tecnologia 125
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
131/166
ASP.%*T 3.5 Avanado
.. 2tili/ando AEAH no ASP.%*T2tili/ando AEAH no ASP.%*T
TbrgetTrust Treinamento Tecnologia 126
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
132/166
2tili/ando AEAH no ASP.%*T
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
133/166
2tili/ando AEAH no ASP.%*T
; ?ue @ "" A
Por AEAH entendemos Ass?nc4ronous EavaScript And HML6
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
134/166
2tili/ando AEAH no ASP.%*T' [ Adicione um e$ form c4amado pagA,a#7eral.asp# dentro da pasta
criadaY
3 [ Adicione um item no menu da aplica!o uas la$els6 umate#tDo# e um Dutton. + o$,etivo " digitar um te#to6 dar uma pausa noprocessamento e apresentar o te#to digitado na la$el de resultado6 dessaforma poderemos ver a pgina sendo carregada de forma normal e a pginasendo carregada pelo A,a#. 2tili/e o cdigo a$ai#o como $ase para montar oasp#.
5 [ >@ dois cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
135/166
2tili/ando AEAH no ASP.%*T
+ controle ScriptManager
Toda a pgina
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
136/166
2tili/ando AEAH no ASP.%*T
+ controle 2pdatePanel
2ma das grandes vantagens dos controles AEAH do ASP.%*T "
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
137/166
2tili/ando AEAH no ASP.%*TAps ter e#ecutado essa a!o rode o sistema6 digite algo e cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
138/166
2tili/ando AEAH no ASP.%*T+ controle de Timer pode ser utili/ado em aplica;es de tr@s cenrios.
Atuali/ar periodicamente o contedo de um 2pdatePanel sematuali/ar a pgina inteira
*#ecutar uma determinada fun!o de post$acG no servidor a cada
intervalo deKnido no Timer
Postar a pgina para o servidor de maneira s:ncrona6 fa/endo com
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
139/166
2tili/ando AEAH no ASP.%*T
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
140/166
2tili/ando AEAH no ASP.%*T+ m"todo utili/ado " o egister-lientScriptDlocG6 @ dois cliepois rode a aplica!o6cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
141/166
2tili/ando AEAH no ASP.%*T
"" Control %oolFit
+ AEAH -ontrol ToolGit " um pacote adicional
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
142/166
2tili/ando AEAH no ASP.%*T
T@rgetTrust Treinamento & Tecnologia 137
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
143/166
2tili/ando AEAH no ASP.%*T
Utilizando controle! do "entro do ToolGit temos diversos controles6 mas para apresentarmos a
facilidades de utili/a!o desses controles6 vamos aprender a utili/ar 3controles6 o Validator-allout*#tender6 o -ollapsi$lePanel*#tender e oPopup-ontrol*#tender.
Para utili/ar os outros controles pertencentes ao A,a# -ontrol ToolGit6consulte a documenta!o
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
144/166
2tili/ando AEAH no ASP.%*T
%ote @ dois cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
145/166
2tili/ando AEAH no ASP.%*T
-ollapsi$lePanel*#tender
+ controle -ollapsi$lePanel*#tender tem a funcionalidade de Kcarvinculado com pain"is Nou com
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
146/166
2tili/ando AEAH no ASP.%*T*stamos utili/ando isso em nosso e#erc:cio para destacar as informa;es
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
147/166
2tili/ando AEAH no ASP.%*T
%ote
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
148/166
2tili/ando AEAH no ASP.%*T
T@rgetTrust Treinamento & Tecnologia 143
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
149/166
2tili/ando AEAH no ASP.%*T
$!ao ara anotae!
9.9. eJectioneJection
T@rgetTrust Treinamento & Tecnologia 144
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
150/166
2tili/ando AEAH no ASP.%*T
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
151/166
2tili/ando AEAH no ASP.%*T
; ?ue @ eectionA
eJection " um con,unto de classes
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
152/166
2tili/ando AEAH no ASP.%*TVeriK
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
153/166
2tili/ando AEAH no ASP.%*T
T@rgetTrust Treinamento & Tecnologia 148
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
154/166
2tili/ando AEAH no ASP.%*T
%rabalando com %io!
A classe S?stem.T?pe " central para todas as a;es de reJe#!o. *la
representa um tipo gerenciado6 um conceito
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
155/166
2tili/ando AEAH no ASP.%*T
Utilizando eection em no!!a alicao
At" agora vimos $astante teorias so$re a utili/a!o de reJe#!o6 seus
o$,etos e seus gan4os6 agora vamos implementar o uso de reJection em nossaaplica!o.
A implementa!o ser a utili/a!o de reJection para preenc4er oscontroles da tela6 genericamente6 a partir de um arra?
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
156/166
2tili/ando AEAH no ASP.%*T
3 [ Insira os m"todos de reJe#!o na classe DasePaginas6 o o$,etivo dessesm"todos " rece$er um o$,eto e preenc4er gen"ricamente6 utili/ando reJe#!o6os controles te#tDo#6 da tela6
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
157/166
2tili/ando AEAH no ASP.%*T
0 [ -rie uma pasta na aplica!o c4amada eJection e dentro desta pastainsira um e$ form c4amado pageJection.asp#.
5 [ Adicione o segundo cdigo no evento PageZLoad da pgina. *stecdigo ir criar uma fonte de dados faGe para o nosso e#erc:cio.
T@rgetTrust Treinamento & Tecnologia 152
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
158/166
2tili/ando AEAH no ASP.%*T
1 [ Arrume a 4erana do e$ form6 agora ao inv"s dele 4erdar deS?stem.e$.2I.Page ele ir 4erdar de DasePaginas.
8 [ Insira os controles a$ai#o no asp# da pgina.
T@rgetTrust Treinamento & Tecnologia 153
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
159/166
2tili/ando AEAH no ASP.%*T
[ >@ dois cli
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
160/166
2tili/ando AEAH no ASP.%*T
$!ao ara anotae!
T@rgetTrust Treinamento & Tecnologia 155
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
161/166
2tili/ando AEAH no ASP.%*T
)(.)(. >istri$uindo sua>istri$uindo suaAplica!oAplica!o
T@rgetTrust Treinamento & Tecnologia 156
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
162/166
2tili/ando AEAH no ASP.%*T
;b
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
163/166
2tili/ando AEAH no ASP.%*T
3i!tribuindo !ua "licao "S#.N$%
%ormalmente todo o softare6 depois de Knali/ado6 deve ser distri$u:do.
Aplica;es convencionais na sua maioria s!o distri$u:das atrav"s deinstaladores espec:Kcos6 o
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
164/166
2tili/ando AEAH no ASP.%*T
Pu$licando sua aplica!o
A ferramenta de pu$lica!o cria uma cpia pr"compilada de seu e$ site.Para acionlo $asta clicar com o $ot!o direito no e$ site e selecionar a op!oRPu$lis4... conforme a imagem a$ai#o.
Ser apresentada uma ,anela onde iremos selecionar a op!o depu$lica!o
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
165/166
2tili/ando AEAH no ASP.%*T
-ada op!o ter suas respectivas conKgura;es e aps devemos clicar emPu$lis4 e o Visual Studio Kcar encarregado de reali/ar o resto do processo.
T@rgetTrust Treinamento & Tecnologia 160
-
8/10/2019 ASP.net 4.0 Avancado Versao Final
166/166
2tili/ando AEAH no ASP.%*T
$!ao ara "notae!