Escolar Documentos
Profissional Documentos
Cultura Documentos
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Search ASP.NET Entrar | Join
Casa
Comear
Download
Pginas da Web
Web Forms
MVC
Solues
Comunidade
Fruns
Incio / Whitepapers / ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web
Contedo Servios Bsicos de Web.config arquivo Refactoring Extensible cache de sada Aplicativos Auto-Start Web permanentemente Redirecionando uma pgina de encolhimento do Estado da Sesso ampliando o leque de URLs admissvel Extensible Pedido de Validao de Cache de Objeto e Objeto Cache extensibilidade Extensible HTML, URL, e cabealho HTTP Encoding Monitoramento de Desempenho Individual para aplicaes em um nico processo de trabalho Multi-Targeting Ajax jQuery Includo com Web Forms e MVC Content Delivery Rede Suporte Scripts ScriptManager Explcitos Web Forms Definir Meta Tags com as Page.MetaKeywords e propriedades Page.MetaDescription Ativando o estado de exibio para controles individuais Alteraes recursos do navegador de roteamento em ASP.NET 4 IDs configurao do cliente Persistncia de seleo de linha em controles de dados ASP.NET Chart Control Filtrando dados com o QueryExtender Controle de cdigo HTML codificado Expresses alteraes de projeto de modelo CSS Melhorias ocultando elementos div Cerca de Campos Escondidos render uma tabela externa para Templated controles ListView Controle Melhorias CheckBoxList e RadioButtonList Controle Melhoramentos do Menu de Controle Melhorias Assistente e CreateUserWizard Controles 56 ASP.NET MVC reas de Suporte Data-Anotao de Suporte Validao Atributo Ajudantes Templated Dados dinmicos permitindo que os dados dinmicos para projetos existentes declarativas DynamicDataManager Controle de sintaxe de entidade Modelos Novos modelos de campo para URLs e endereos de email de criao de ligaes com o Controle DynamicHyperLink suporte para a herana no modelo de dados Suporte para muitos-para-muitos (Entity Framework Only) Atributos de seu controle Enumeraes Display e Suporte Suporte avanado para Filtros Visual Studio 2010 Melhorias Desenvolvimento Web melhorada CSS Compatibilidade
www.asp.net/whitepapers/aspnet4
1/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
HTML e JavaScript trechos JavaScript IntelliSense Melhorias Implantao de Aplicativos Web com o Visual 2010 Estdio Web Embalagem Web.config Transformao implantao de banco One-Clique em Publicar para Aplicaes Web Resources Renncia
Servios Bsicos de
ASP.NET 4 introduz uma srie de caractersticas que melhoram os servios principais do ASP.NET, como o cache de sada e de estado de sesso de armazenamento.
DsCcervdr"/ ikahPoie > < poies / rvdr> < otuCce / uptah> <ah / cce >
Por padro, no ASP.NET 4, todas as respostas HTTP, pginas prestados e controles de usar o cache de sada na memria, como mostrado no exemplo anterior, onde o defaultProvider atributo definido para AspNetInternalProvider. Voc pode alterar o provedor padro de sada de cache utilizado para uma aplicao Web, especificando um nome de provedor diferente para defaultProvider . Alm disso, voc pode selecionar diferentes de cache de sada por prestadores de controle e por pedido. A maneira mais fcil de escolher um fornecedor de cache de sada diferente para diferentes controles de usurio Web est a faz-lo declarativamente usando o novo providerName atributo em uma diretiva de controle, como mostrado no exemplo a seguir:
www.asp.net/whitepapers/aspnet4
2/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
< @OtuCceDrto ="0 VrBPrm="oe poieNm ="ikah"> % uptah uain 6" ayyaa Nn" rvdrae DsCce%
Especificando um provedor de cache sada diferente para uma solicitao HTTP requer um pouco mais trabalho. Em vez de declarativamente especificar o provedor, voc substituir o novo GetOuputCacheProviderName mtodo no G o a . s xarquivo para especificar programaticamente o lblaa fornecedor a utilizar para uma solicitao especfica. O exemplo a seguir mostra como fazer isso. pbi oerd srn GtuptahPoieNm(tpotx cnet ulc vrie tig eOtuCcervdraeHtCnet otx) { i (otx.eus.ahEdWt(Avne.sx) f cnetRqetPt.nsih"dacdap") rtr "ikah" eun DsCce; es le rtr bs.eOtuCcervdraecnet; eun aeGtuptahPoieNm(otx) }
Com a adio de sada cache-extensibilidade provedor para ASP.NET 4, agora voc pode buscar mais agressivos e mais inteligentes de sada de cache de estratgias para os seus sites. Por exemplo, agora possvel armazenar em cache os "Top 10" pginas de um site na memria, enquanto o cache de pginas que recebem menor trfego no disco. Alternativamente, voc pode armazenar em cache todas as combinaes variam por uma pgina processada, mas usar um cache distribudo de modo que o consumo de memria descarregado a partir de servidores Web front-end.
Aplicativos do IIS Mdulo Warm-Up para IIS 7.5 A equipe do IIS lanou a primeira verso do teste beta do aplicativo Mdulo Warm-Up para o IIS 7.5. Isto faz aquecer suas aplicaes ainda mais fcil do que o anteriormente descrito. Em vez de escrever cdigo personalizado, voc pode especificar as URLs de recursos para a execuo antes da aplicao Web aceita solicitaes de rede. Este aquecimento ocorre durante a inicializao do servio IIS (se voc configurou o pool de aplicativos IIS como AlwaysRunning ) e quando um processo de trabalho IIS recicla. Durante a reciclagem, o processo de trabalho IIS velho continua a executar os pedidos at o processo de trabalho recm-gerado est totalmente aquecido, para que os aplicativos no tm quaisquer interrupes ou outros problemas devido a caches no condicionadas. Note-se que este mdulo funciona com qualquer verso do ASP.NET, comeando com a verso 2.0. Para mais informaes, consulte Aplicao Warm-Up no site da IIS.net. Para uma explicao passo a passo que mostra como usar o recurso de warm-up, consulte Introduo ao mdulo de 7,5 Aplicao IIS Warm-Up no site da IIS.net.
Para usar o recurso de auto-start, um administrador do IIS define um pool de aplicativos no IIS 7.5 para ser iniciado automaticamente usando a seguinte configurao no a p i a i n o t c n i plctoHs.ofg arquivo: <plctopos apiainol> <d nm ="yplctoPo" Satoe="lasunn" / ad ae MApiainol trMd AwyRnig > < apiainol> / plctopos
Porque uma piscina nica aplicao pode conter mltiplas aplicaes, voc especificar aplicaes individuais a serem iniciados automaticamente usando a seguinte configurao no a p i a i n o t c n i arquivo: plctoHs.ofg
www.asp.net/whitepapers/aspnet4
3/39
06/05/12
< st> / ie < st> / ie
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
< -Cned aiinl! oto dcoa > <evcatsatrvdr> srieuotrpoies <d nm ="rwrMCce ad ae Peamyah" tp ="yaepc.utmntaiaineMLbay / io MNmsaeCsoIiilzto yirr" > < srieuotrpoies> / evcatsatrvdr
Quando um servidor IIS 7.5 frio iniciado ou quando um pool de aplicativos indivduo reciclado, o IIS 7.5 usa as informaes no a p i a i n o t c n i arquivo para determinar quais aplicativos plctoHs.ofg Web precisa ser iniciado automaticamente. Para cada aplicativo que est marcado para incio automtico, IIS7.5 envia uma solicitao para ASP.NET 4 para iniciar o aplicativo em um estado em que o pedido temporariamente no aceita solicitaes HTTP. Quando se est neste estado, o ASP.NET instancia do tipo definido pelo serviceAutoStartProvider atributo (como mostrado no exemplo anterior) e pe em seu ponto de entrada do pblico. possvel criar um tipo de gesto de arranque automtico com o ponto de entrada necessrio atravs da aplicao do IProcessHostPreloadClient interface, como mostrado no seguinte exemplo:
Aps o seu cdigo de inicializao executado no Preload mtodo e retorna o mtodo, o aplicativo ASP.NET est pronto para processar solicitaes. Com a adio de auto-start para o IIS 0,5 e ASP.NET 4, agora voc tem uma abordagem bem definida para a realizao de inicializao do aplicativo caro, antes de processar a solicitao HTTP em primeiro lugar. Por exemplo, voc pode usar o recurso de auto-arranque novo para inicializar um aplicativo e, em seguida, sinalizar um balanceador de carga que o aplicativo foi inicializado e est pronto para aceitar o trfego HTTP.
Os motores de busca e outros agentes de utilizador que reconhecem redirecionamentos permanentes ir armazenar o novo URL que est associado com o contedo, o que elimina a viagem desnecessria rodada feita pelo navegador para redirecionamentos temporrios.
www.asp.net/whitepapers/aspnet4
4/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
sloncintig="aasuc =dsre;IiilCtlg=apesae qCnetoSrn dt ore bevr nta aao snttt" alwutmqDtbs ="re loCsoSlaaae tu" cmrsinnbe ="re opesoEald tu" / >
Com a simples adio do atributo novo para o W b c n i de arquivos, aplicaes com ciclos de CPU e.ofg de reposio de servidores da Web podem realizar redues substanciais no tamanho dos seriados de estado de sesso de dados.
Para permitir que os caminhos mais longos ou mais curtos (a parte do URL que no inclui protocolo, nome do servidor e de seqncia de consulta), modificar o maxUrlLength atributo. Para permitir que seqncias de consulta mais ou menos longos, modificar o valor da maxQueryStringLength atributo. ASP.NET 4 tambm permite que voc configure os caracteres que so usados seleo carter pela URL. Quando o ASP.NET encontra um caractere invlido na poro do caminho de uma URL, que rejeita o pedido e emite um erro HTTP 400. Nas verses anteriores do ASP.NET, as verificaes de caracteres de URL foram limitados a um conjunto fixo de caracteres. Em ASP.NET 4, voc pode personalizar o conjunto de caracteres vlidos usando o novo requestPathInvalidChars atributo do httpRuntime elemento de configurao, como mostrado no exemplo a seguir: <tputm rqetahnaiCas=",,*% &: \ HtRnie eusPtIvldhr <> ,, ,, " / >
Por padro, o requestPathInvalidChars atributo define oito caracteres como invlido. (Na cadeia que atribudo a requestPathInvalidChars por padro , a menos que (<), maior que (>) e comercial (&) caracteres so codificados, porque o W b c n i arquivo um arquivo XML.) Voc pode personalizar e.ofg o conjunto de caracteres invlidos, conforme necessrio.
Nota ASP.NET 4 sempre rejeita caminhos de URL que contenham caracteres no intervalo ASCII de 0x00 a 0x1F, pois so personagens URL invlidos, conforme definido na RFC 2396 do IETF ( http://www.ietf.org/rfc/rfc2396. txt ). Em verses do Windows Server que executam o IIS 6 ou superior, o driver de dispositivo http.sys protocolo rejeita automaticamente URLs com esses personagens.
O novo requestValidationType atributo requer um padro. NET Framework seqncia identificador do tipo que especifica a classe que fornece a validao de solicitao personalizado. Para cada solicitao, o ASP.NET chama o tipo personalizado para processar cada pedao de dados da solicitao HTTP de entrada. A URL de entrada, todos os cabealhos HTTP (cookies e cabealhos personalizados), e o corpo da entidade esto disponveis para inspeo por uma classe personalizada
www.asp.net/whitepapers/aspnet4
5/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
pedido de validao como mostrado no exemplo a seguir: pbi casCsoRqetaiain:Rqetaiao ulc ls utmeusVldto eusVldtr { poetdoerd bo IVldeusSrn( rtce vrie ol saiRqettig HtCnetcnet srn vle tpotx otx, tig au, Rqetaiainorerqetaiainore eusVldtoSuc eusVldtoSuc, srn cletoKy tig olcine, otitvldtoFiuene) u n aiainalrIdx {.} .. }
Para os casos onde voc no quer para inspecionar um pedao de dados HTTP de entrada, a classe de pedido de validao pode cair para trs para deixar o padro ASP.NET execuo de validao de solicitao simplesmente chamando base.IsValidRequestString.
www.asp.net/whitepapers/aspnet4
6/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
//Eetoamznrocned d aqiod n cce n raea oto o ruv e o ah d cce.St("ieotns ,flCnet ,pltc ) e ah e flCnet" ieotns oia ; } Msaeo .Msrr(flCnet ) esgBx ota ieotns ;
Depois de um codificador personalizado foi configurado, o ASP.NET automaticamente chama a implementao de codificao personalizado sempre que mtodos de codificao pblicas dos System.Web.HttpUtility ou System.Web.HttpServerUtility classes so chamados. Isso permite que uma parte de uma equipe de desenvolvimento Web criar um codificador personalizado que implementa codificao de carter agressivo, enquanto o resto da equipe de desenvolvimento Web continua a utilizar o ASP.NET pblico codificao APIs. Por centralmente a configurao de um codificador personalizado na httpRuntime elemento, voc est garantido que todas as chamadas de codificao de texto por parte do pblico ASP.NET codificao APIs so encaminhados atravs do codificador personalizado.
Nota O a p e . o f garquivo est no diretrio onde o. NET Framework est sntcni instalado. No o W b c n i arquivo. e.ofg
Quando o appDomainResourceMonitoring recurso foi habilitado, dois novos contadores de desempenho esto disponveis na categoria performance "ASP.NET Applications": % Processor Time Gerenciado e gerenciado memria usada . Ambos os contadores de desempenho utilizar o novo domnio do aplicativo CLR recurso de gerenciamento de recursos para controlar o tempo de CPU estimados e gerenciados a utilizao da memria de aplicaes ASP.NET individuais. Como resultado, com ASP.NET 4, os administradores tm agora uma viso mais granular para o consumo de recursos de aplicativos individuais em execuo em um processo nico trabalhador.
Multi-Targeting
www.asp.net/whitepapers/aspnet4 7/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Voc pode criar um aplicativo que tem como alvo uma verso especfica do. NET Framework. No ASP.NET 4, um novo atributo na compilao elemento do W b c n i arquivo permite que voc e.ofg direcione o. NET Framework 4 e posterior. Se voc explicitamente alvo. NET Framework 4, e se voc incluir elementos opcionais no W b c n i arquivo, como as entradas para System.CodeDom , esses e.ofg elementos devem estar corretas para o. NET Framework 4. (Se voc no visam explicitamente. NET Framework 4, a estrutura de destino inferida a partir da falta de uma entrada no W b c n i e.ofg arquivo.) O exemplo seguinte mostra a utilizao do targetFramework atributo na compilao elemento do W b c n i arquivo. e.ofg <oplo treFaeok="."/ Cmia agtrmwr 40 >
Observe o seguinte sobre a segmentao de uma verso especfica do Framework.: Em uma piscina NET Framework. Aplicao 4, o sistema de compilao ASP.NET assume. NET Framework 4, como um alvo se o W b c n i arquivo no inclui o targetFramework atributo ou se e.ofg o W b c n i arquivo est faltando. (Voc pode ter que fazer alteraes de codificao para o e.ofg aplicativo para torn-lo executado sob o. NET Framework 4.) Se voc incluir o targetFramework atributo, e se o System.CodeDom elemento definido no W b c n i arquivo, esse arquivo deve conter as entradas corretas para o. NET Framework 4. e.ofg Se voc estiver usando o aspnet_compiler comando para pr-compilar seu aplicativo (como em um ambiente de construo), voc deve usar a verso correta do aspnet_compiler comando para o quadro de destino. Use o compilador que acompanha o. NET Framework 2.0 (% WINDIR% \ Microsoft.NET \ Framework \ v2.0.50727) para compilar para o. NET Framework 3.5 e verses anteriores. Use o compilador que vem com o. NET Framework 4 para compilar as aplicaes criadas usando esse quadro ou utilizar verses mais recentes. Em tempo de execuo, o compilador usa os mdulos mais recentes de enquadramento que so instalados no computador (e, portanto, no GAC). Se uma atualizao feita mais tarde para o quadro (por exemplo, uma hipottica verso 4.1 est instalado), voc ser capaz de usar recursos da nova verso do quadro, embora o targetFramework atributo tem como alvo uma verso inferior (por exemplo, 4,0). (No entanto, em tempo de design no Visual Studio 2010 ou quando voc usa o aspnet_compiler comando, usando os recursos mais recentes do quadro ir causar erros de compilao).
Ajax
jQuery Includo com Web Forms e MVC
Os modelos do Visual Studio para formulrios da Web e MVC incluir a biblioteca jQuery open-source. Quando voc cria um novo site ou projeto, uma pasta Scripts contendo os seguintes 3 arquivos criado: jQuery-1.4.1.js - A legvel verso, unminified da biblioteca jQuery. jQuery-14.1.min.js - A verso minified da biblioteca jQuery. jQuery 1.4.1--vsdoc.js - O arquivo de documentao Intellisense para a biblioteca jQuery. Incluir a verso do jQuery unminified durante o desenvolvimento de um aplicativo. Incluir a verso minified do jQuery para aplicaes de produo. Por exemplo, a seguinte pgina de Web Forms ilustra como voc pode usar jQuery para mudar a cor de fundo dos controles ASP.NET TextBox para amarelo quando possuem foco. < @Pg Lnug =" # AtEetiep=CdFl "re ="hwQeyap.s Ihrt ="hwQey% % ae agae C " uovnWru oeie tu" Sojur.sxc" neis Sojur"> <OTP hm PBI " //WC//DDXTL10Tastoa //E" DCYE tl ULC 3 T HM . rniinl N
www.asp.net/whitepapers/aspnet4
8/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Tirando proveito da Microsoft Ajax CDN, voc pode melhorar significativamente o desempenho de seus aplicativos Ajax. O contedo do Microsoft Ajax CDN so armazenadas em servidores localizados em todo o mundo. Alm disso, o Microsoft Ajax CDN permite que navegadores para reutilizar os arquivos JavaScript em cache para sites que esto localizados em diferentes domnios. A Microsoft Ajax Content Delivery Network suporta SSL (HTTPS) em caso de necessidade de atender a uma pgina web usando o Secure Sockets Layer. Para saber mais sobre o Ajax Microsoft CDN, visite o seguinte site: http://www.asp.net/ajaxlibrary/CDN.ashx O ScriptManager ASP.NET suporta o Microsoft Ajax CDN. Simplesmente definindo uma propriedade, a propriedade EnableCdn, voc pode recuperar todos os arquivos do ASP.NET framework JavaScript do CDN: <s:SrpMngr I ="M" EalCn="re rnt="evr / Ap citaae D S1 nbed tu" ua sre" >
Depois de definir a propriedade EnableCdn para o verdadeiro valor, a estrutura do ASP.NET vai recuperar todos os arquivos do ASP.NET framework JavaScript do CDN, incluindo todos os arquivos JavaScript utilizados para validao e UpdatePanel. A definio dessa propriedade pode ter um impacto dramtico sobre o desempenho de sua aplicao web. Voc pode definir o caminho do CDN para seus prprios arquivos JavaScript usando o atributo WebResource. A propriedade CdnPath novo especifica o caminho para o CDN usado quando voc definir a propriedade EnableCdn ao valor verdadeiro: [asml : Wbeore("o.s , "plcto /xjvsrp", Cnah = "tp/focmfobrfoj") seby eRsuc foj" apiain -aacit dPt ht:/o.o/o/a/o.s ]
www.asp.net/whitepapers/aspnet4
9/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Web Forms
Web Forms tem sido uma caracterstica fundamental do ASP.NET desde o lanamento do ASP.NET 1.0. Muitas melhorias foram nesta rea para ASP.NET 4, incluindo o seguinte: A capacidade de definir meta tags. Mais controle sobre o estado de exibio. Maneiras mais fceis de trabalhar com recursos do navegador. Suporte para a utilizao de roteamento ASP.NET com Web Forms. Mais controle sobre IDs gerados. A capacidade de persistir linhas selecionadas em controles de dados. Mais controle sobre HTML processado nos FormView e ListView controles. Suporte de filtragem para controles de fonte de dados.
Essas duas propriedades funcionam da mesma maneira que a pgina do ttulo de propriedade faz. Eles seguem as seguintes regras: 1. Se no h meta tags na cabea elemento que coincidem com os nomes de propriedade (ou seja, name = "keywords" para Page.MetaKeywords e name = "description" para Page.MetaDescription , o que significa que essas propriedades no foram definidas), o meta tags ser adicionado pgina quando ela processada. 2. Se j existem meta tags com esses nomes, essas propriedades funcionam como mtodos get e set para o contedo das tags existentes. Voc pode definir essas propriedades em tempo de execuo, que lhe permite obter o contedo de um banco de dados ou outra fonte, e que permite definir dinamicamente as tags para descrever o que uma determinada pgina para. Voc tambm pode definir as Palavras-chave e descrio propriedades na @ Page diretiva na parte superior da pgina de Web Forms de marcao, como no exemplo a seguir: < @Pg Lnug =" # AtEetiep="re % ae agae C " uovnWru tu" CdFl ="eal.sxc" oeie Dfutap.s Ihrt ="Dfut neis _eal" kyod ="se,so mu plva-hv" ewrs Ets , e, aarscae Dsrpin="sauadsro% ecito Et m eci">
Isso ir substituir os metadados contedo da tag (se houver) j declarados na pgina. O contedo da descrio meta tag so usadas para melhorar previews listagem de pesquisa no Google. (Para detalhes, consulte Melhorar trechos com um makeover descrio meta no Google Webmaster Central Blog.) Google e Windows Live Search no usar o contedo das palavras-chave para qualquer coisa, mas outros motores de busca pode. Para mais informaes, consulte Conselhos Keywords Meta na Pesquisa Web site Mecanismo de Guia. Estas novas propriedades so um recurso simples, mas salv-lo da obrigao de adicion-los manualmente ou de escrever seu prprio cdigo para criar as meta tags.
www.asp.net/whitepapers/aspnet4
10/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
permite que voc desabilite o estado de exibio por padro e, em seguida, ativ-lo somente para os controles que exigem-lo na pgina. O ViewStateMode propriedade tem uma enumerao que tem trs valores: Ativado , desativado , e Herdar . habilitado permite que o estado de exibio para o controle e os controles filho que esto definidos para Herdar ou que tem um conjunto nada. Deficientes desativa estado de exibio, e Herdar especifica que o controle usa o ViewStateMode configurao do controle pai. O exemplo a seguir mostra como o ViewStateMode propriedade funciona. A marcao e cdigo para os controles na pgina seguinte inclui os valores para o ViewStateMode propriedade:
au -% qi >
Como voc pode ver, os desativa estado de exibio de cdigo para o controle PLACEHOLDER1. O controle label1 filho herda o valor da propriedade ( Herdar o valor padro para ViewStateMode para controles.) e, portanto, no poupa o estado de exibio. No controle PLACEHOLDER2, ViewStateMode est definido como Ativado , assim Label2 herda essa propriedade e salva o estado de exibio. Quando a pgina carregada pela primeira vez, o texto de propriedade de ambas as etiquetas controles definida como a string "[DynamicValue]". O efeito desses ajustes que quando a pgina carregada pela primeira vez, a seguinte sada exibida no navegador: Desativado : [ y a i V l e Dnmcau] Ativado: [ y a i V l e Dnmcau] Depois de uma nova postagem, no entanto, a seguinte sada exibida: Desativado : [ e l r d a u ] DcaeVle Ativado: [ y a i V l e Dnmcau] O controle label1 (cujo ViewStateMode valor definido como Desativado ) no tem preservado o valor que foi definido no cdigo. No entanto, o controle label2 (cujo ViewStateMode valor definido como Ativado ) tem preservado seu estado. Voc tambm pode definir ViewStateMode no @ Page directiva, como no exemplo a seguir: < @Pg Lnug =" # % ae agae C " % >
A Pgina classe apenas um outro controle, que atua como o controle pai para todos os outros controles na pgina. O valor padro de ViewStateMode ativado para instncias de pgina . Como padro controles para Herdar , controles herdaro o Ativado valor da propriedade, a menos que voc definir ViewStateMode no nvel da pgina ou controle. O valor da ViewStateMode propriedade determina se estado de exibio mantido somente se o EnableViewState propriedade definida como verdadeira . Se o EnableViewState propriedade definida como falsa , o estado de exibio no ser mantida mesmo se ViewStateMode est definido como Ativado . Um bom uso para este recurso com ContentPlaceHolder controles em pginas mestras, onde voc pode definir ViewStateMode para pessoas com mobilidade condicionada para a pgina principal e, em
www.asp.net/whitepapers/aspnet4
11/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
seguida, ativ-lo individualmente para ContentPlaceHolder controles que por sua vez, contm controles que exigem estado de exibio.
No ASP.NET verso 3.5 Service Pack 1, voc pode definir as capacidades que um navegador tem das seguintes maneiras: No nvel do computador, voc criar ou atualizar um b o s r arquivo XML na seguinte pasta: rwe. \oWnos\Mcoot.NT\Faeok\v .0577\CNI \Bosr idw irsf E rmwr 2 .02 OFG rwes
Depois de definir a capacidade do navegador, voc execute o seguinte comando a partir do Visual Studio Command Prompt, a fim de reconstruir o navegador montagem capacidades e adicion-lo no GAC: ape_ebosr .ee-Ic sntrgrwes x
Para uma aplicao individual, voc cria um . n v g d rde arquivos no aplicativo A p B o s r aeao p_rwes pasta. Essas abordagens requerem que voc alterar os arquivos XML, e para o computador em nvel de alteraes, voc deve reiniciar o aplicativo depois de executar o processo Aspnet_regbrowsers.exe. ASP.NET 4 inclui um recurso chamado de provedores de recursos do navegador . Como o nome sugere, este permite que voc construa um provedor que, por sua vez permite que voc use seu prprio cdigo para determinar as capacidades do navegador. Na prtica, os desenvolvedores geralmente no definem os recursos do navegador personalizado. Arquivos do navegador so difceis de atualizar, o processo de atualiz-los bastante complicada, ea sintaxe XML para . n v g d rde arquivos pode ser complexo de usar e definir. O que faria este aeao processo muito mais fcil se houvesse uma sintaxe de definio comum do browser, ou um banco de dados que continha definies up-to-date do navegador, ou mesmo um servio Web para essa base de dados. O novo navegador capacidades caracterstica faz com que esses prestadores de cenrios possvel e prtico para desenvolvedores de terceiros. Existem duas abordagens principais para usar o novo recurso de ASP.NET 4 navegador provedor capacidades: estender a funcionalidade do navegador ASP.NET definio capacidades, ou substitu-lo totalmente. As sees seguintes descrevem primeiro como para substituir a funcionalidade, e depois como estend-lo.
Para substituir o browser funcionalidade ASP.NET definio capacidades completamente, siga estes passos:
www.asp.net/whitepapers/aspnet4
12/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
1. Criar uma classe de provedor que deriva HttpCapabilitiesProvider e que substitui o GetBrowserCapabilities mtodo, como no exemplo a seguir: pbi casCsoPoie :HtCpbltePoie ulc ls utmrvdr tpaaiiisrvdr { pbi oerd HtBosraaiiis ulc vrie tprweCpblte GtrweCpblte(tpeus rqet eBosraaiiisHtRqet eus) { HtBosraaiiisbosras=nwHtBosraaiiis) tprweCpblte rweCp e tprweCpblte(; Hstbevle =nwHstbe10 SrnCmae.riaInrCs) ahal aus e ahal(8, tigoprrOdnlgoeae; vle[tigEpy =rqetUeAet ausSrn.mt] eus.srgn; vle[bosr]="yutmrwe" aus"rwe" MCsoBosr; bosrasCpblte =vle; rweCp.aaiiis aus rtr bosras eun rweCp; } }
O cdigo neste exemplo cria um novo HttpBrowserCapabilities objeto, especificando apenas a capacidade do chamado ajuste navegador e que capacidade de MyCustomBrowser. 1. Registre o provedor com a aplicao. Para usar um provedor com uma aplicao, voc deve adicionar o provedor de atributo para o browserCaps seo nos W b c n i ou M c i e c n i arquivos. (Voc tambm pode definir os e.ofg ahn.ofg atributos de um provedor local . elemento para diretrios especficos na aplicao, como em uma pasta para um dispositivo mvel especfico) O exemplo a seguir mostra como definir o provedor de atributo em um arquivo de configurao: <itm .wb> Ssea e <rweCp poeo ="lsLbay.utmrvdr Casirr2 bosras rvdr Casirr2CsoPoie, lsLbay, Vrin=1000 Clua=nurl" / eso ..., utr eta > < ssea.wb> / itm e
Outra forma de registar a definio nova capacidade navegador a utilizao de cdigo, como mostrado no seguinte exemplo:
.. . }
Este cdigo deve ser executado no Application_Start evento do G o a . s xarquivo. Qualquer lblaa alterao ao BrowserCapabilitiesProvider classe deve ocorrer antes de qualquer cdigo no aplicativo executado, a fim de se certificar de que o cache permanece em um estado vlido para o resolvido HttpCapabilitiesBase objeto.
O exemplo anterior tem um problema, o que que o cdigo seria executado cada vez que o provedor personalizado invocado, a fim de obter o HttpBrowserCapabilities objeto. Isto pode acontecer vrias vezes durante cada solicitao. No exemplo, o cdigo para o provedor no faz muita coisa. No entanto, se o cdigo em seu provedor personalizado realiza um trabalho significativo, a fim de obter o HttpBrowserCapabilities objeto, isso pode afetar o desempenho. Para evitar que isso acontea, voc pode armazenar em cache o HttpBrowserCapabilities objeto. Siga estes passos: 1. Criar uma classe que deriva de HttpCapabilitiesProvider , tal como a um no exemplo seguinte: pbi casCsoPoie :HtCpbltePoie ulc ls utmrvdr tpaaiiisrvdr { pbi oerd HtBosraaiiis ulc vrie tprweCpblte GtrweCpblte(tpeus rqet eBosraaiiisHtRqet eus) { srn ccee =BidahKy) tig ahKy ulCcee(; itcceie=GtahTm(; n ahTm eCceie) HtBosraaiiisbosras= tprweCpblte rweCp HtCnetCretCceccee]a tpotx.urn.ah[ahKy s HtBosraaiiis tprweCpblte; i (rweCp = nl) f bosras = ul { HtBosraaiiisbosras=nw tprweCpblte rweCp e HtBosraaiiis) tprweCpblte(; Hstbevle =nwHstbe10 ahal aus e ahal(8,
www.asp.net/whitepapers/aspnet4
13/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
SrnCmae.riaInrCs) tigoprrOdnlgoeae; vle[tigEpy =rqetUeAet ausSrn.mt] eus.srgn; vle[bosr]="yutmrwe" aus"rwe" MCsoBosr; bosrasCpblte =vle; rweCp.aaiiis aus HtCnetCretCceIsr(ahKy tpotx.urn.ah.netccee, bosras nl,DtTm.aVle rweCp, ul aeieMxau, TmSa.rmeod(ahTm); iepnFoScnscceie) } rtr bosras eun rweCp; }
No exemplo, o cdigo gera uma chave de cache chamando um mtodo BuildCacheKey costume, e fica o tempo para o cache chamando um mtodo GetCacheTime personalizado. O cdigo, em seguida, adiciona os resolvidas HttpBrowserCapabilities opor-se cache. O objeto pode ser recuperado a partir do cache e reutilizado em solicitaes subseqentes que fazem uso do provedor personalizado. 1. Registar o fornecedor da aplicao, tal como descrito no procedimento anterior.
A seo anterior descreve como criar um novo HttpBrowserCapabilities objeto em ASP.NET 4. Voc tambm pode estender a funcionalidade do navegador ASP.NET capacidades adicionando capacidades definies novo navegador para aqueles que j esto em ASP.NET. Voc pode fazer isso sem usar as definies do navegador XML. O procedimento a seguir mostra como. 1. Criar uma classe que deriva de HttpCapabilitiesEvaluator e que substitui a GetBrowserCapabilities mtodo, como mostrado no seguinte exemplo: pbi casCsoPoie :HtCpblteEautr ulc ls utmrvdr tpaaiiisvlao { pbi oerd HtBosraaiiis ulc vrie tprweCpblte GtrweCpblte(tpeus rqet eBosraaiiisHtRqet eus) { HtBosraaiiisbosras= tprweCpblte rweCp bs.eHtBosraaiiisrqet; aeGttprweCpblte(eus) i (rweCp.rwe = "nnw" f bosrasBosr = Ukon) { bosras=MBosraaiiisvuao(eus) rweCp yrweCpblteEaltrrqet; } rtr bosras eun rweCp; } }
Esse cdigo primeiro usa o navegador ASP.NET funcionalidade capacidades para tentar identificar o navegador. No entanto, se nenhum navegador identificado com base nas informaes definidas no pedido (isto , se o navegador propriedade do HttpBrowserCapabilities objeto a seqncia de "Desconhecido"), o cdigo chama o provedor personalizado (MyBrowserCapabilitiesEvaluator) para identificar o browser. 1. Registar o fornecedor da aplicao, tal como descrito no exemplo anterior.
Ampliar a funcionalidade do navegador por Capacidades adicionando novas capacidades de definies existentes Capacidades
Alm de criar um provedor personalizado definio do navegador e criar dinamicamente novas definies do navegador, voc pode estender as definies do browser existentes com recursos adicionais. Isso permite usar uma definio que se aproxima do que voc quer, mas falta apenas algumas capacidades. Para fazer isso, use as seguintes etapas. 1. Criar uma classe que deriva de HttpCapabilitiesEvaluator e que substitui a GetBrowserCapabilities mtodo, como mostrado no seguinte exemplo: pbi casCsoPoie :HtCpblteEautr ulc ls utmrvdr tpaaiiisvlao { pbi oerd HtBosraaiiis ulc vrie tprweCpblte GtrweCpblte(tpeus rqet eBosraaiiisHtRqet eus) { HtBosraaiiisbosras= tprweCpblte rweCp bs.eHtBosraaiiisrqet; aeGttprweCpblte(eus) i (rweCp.rwe = "nnw" f bosrasBosr = Ukon) { bosras=MBosraaiiisvuao(eus) rweCp yrweCpblteEaltrrqet; } rtr bosras eun rweCp; }
www.asp.net/whitepapers/aspnet4
14/39
06/05/12
}
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
O cdigo de exemplo estende o ASP.NET existente HttpCapabilitiesEvaluator classe e recebe o HttpBrowserCapabilities objeto que coincide com a definio de solicitao atual, usando o seguinte cdigo: HtBosraaiiisbosras= tprweCpblte rweCp bs d .GttprweCpblte (pdd ) ae e eHtBosraaiiis eio ;
O cdigo pode, ento, adicionar ou modificar uma potencialidade para este browser. H duas maneiras de especificar uma capacidade novo navegador: Adicione um par chave / valor para o IDictionary objeto que exposto pelo Capacidades propriedade do HttpCapabilitiesBase objeto. No exemplo anterior, o cdigo adiciona uma capacidade de chamada MultiTouch com um valor de verdade . Defina as propriedades existentes do HttpCapabilitiesBase objeto. No exemplo anterior, o cdigo define a Frames propriedade a verdade . Esta propriedade simplesmente um assessor para o IDictionary objeto que exposto pelo Capacidades propriedade.
Observao: Este modelo se aplica a qualquer propriedade de HttpBrowserCapabilities , incluindo adaptadores de controle.
Roteamento em ASP.NET 4
ASP.NET 4 acrescenta suporte embutido para usar o roteamento com Web Forms. Roteamento permite que voc configure uma aplicao para aceitar URLs de solicitao que no so mapeadas para arquivos fsicos. Em vez disso, voc pode usar roteamento para definir URLs que so significativos para os usurios e que pode ajudar com o motor de busca optimization (SEO) para sua aplicao. Por exemplo, o URL para uma pgina que exibe categorias de produtos em um aplicativo existente pode parecer com o seguinte exemplo: ht :?/st //Pout.sxctgri =1 tp ie rdcsap aeoyd 2
Ao utilizar o roteamento, voc pode configurar o aplicativo para aceitar a seguinte URL para exibir a mesma informao: ht :/st //pouo /sfwr tp ie rdts otae
Roteamento est disponvel comeando com ASP.NET 3.5 SP1. (Para um exemplo de como usar roteamento em ASP.NET 3.5 SP1, consulte a entrada Usando Routing com WebForms no blog do Phil Haack.) No entanto, ASP.NET 4 inclui algumas caractersticas que o tornam mais fcil de usar roteamento, incluindo o seguinte: O PageRouteHandler classe, que um manipulador de HTTP simples que voc usa quando voc definir rotas. A classe passa os dados para a pgina que o pedido encaminhado para. A nova propriedades HttpRequest.RequestContext e Page.RouteData (que uma proxy para o HttpRequest.RequestContext.RouteData objeto). Estas propriedades tornam mais fcil o acesso a informao que transmitida a partir do percurso. Os seguintes novos construtores de expresso, que so definidos RouteUrl , que fornece uma maneira simples de criar uma URL que corresponde a uma URL rota dentro de um controle de servidor ASP.NET. RouteValue , que fornece uma maneira simples de extrair informaes do RouteContext objeto. O RouteParameter classe, o que torna mais fcil de passar os dados contidos em um RouteContext objeto de uma consulta para um controle da fonte de dados (semelhante ao FormParameter ).
O exemplo a seguir mostra como definir uma rota Web Forms usando o novo MapPageRoute mtodo da Rota de classe: pbi casGoa :Sse.e.tpplcto ulc ls lbl ytmWbHtApiain { vi ApiainSatojc sne,Eetrse od plcto_tr(bet edr vnAg ) { Rueal.otsMpaeot(SacRue, otTbeRue.aPgRue"erhot" "erh{erhem" "/erhap"; sac/sactr}, ~sac.sx) Rueal.otsMpaeot(UeRue, otTbeRue.aPgRue"srot" "sr/uenm},"/sr.sx) ues{srae" ~uesap";
www.asp.net/whitepapers/aspnet4
15/39
06/05/12
} }
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
ASP.NET 4 introduz o MapPageRoute mtodo. O exemplo seguinte equivalente definio SearchRoute mostrado no exemplo anterior, mas utiliza a PageRouteHandler classe. Rueal.otsAd"erhot" nwRue"erh{erhem" otTbeRue.d(SacRue, e ot(sac/sactr}, nwPgRueade(~sac.sx)) e aeotHnlr"/erhap");
O cdigo no exemplo mapeia a rota para uma pgina fsica (no primeiro percurso, a ~ S a c . s x erhap /). A definio primeiro percurso tambm especifica que o parmetro chamado searchterm deve ser extrado a partir do URL e passado para a pgina. O MapPageRoute mtodo suporta as sobrecargas do mtodo a seguir: MapPageRoute (string routeName, string routeUrl, string physicalFile, bool checkPhysicalUrlAccess) MapPageRoute (string routeName, string routeUrl, string physicalFile, checkPhysicalUrlAccess bool, o padro RouteValueDictionary) MapPageRoute (string routeName, string routeUrl, string physicalFile, checkPhysicalUrlAccess bool, o padro RouteValueDictionary, restries RouteValueDictionary) O checkPhysicalUrlAccess parmetro especifica se a rota deve verificar as permisses de segurana para a pgina fsica que est sendo encaminhado para (neste caso Search.aspx) e as permisses na URL de entrada (neste caso, pesquisa / {} searchterm). Se o valor da checkPhysicalUrlAccess falsa , apenas as permisses do URL de entrada ser verificada. Essas permisses so definidas no W b c n i arquivo usando as configuraes como as seguintes: e.ofg <ofgrto> cniuain <oainpt=sac.sx> lcto ah"erhap" <ytmwb sse.e> <uhrzto> atoiain <lo rls"di"> alw oe=amn/ <eyues""> dn sr=*/ <atoiain /uhrzto> <sse.e> /ytmwb <lcto> /oain <oainpt=sac" lcto ah"erh> <ytmwb sse.e> <uhrzto> atoiain <lo ues""> alw sr=*/ <atoiain /uhrzto> <sse.e> /ytmwb <lcto> /oain <cniuain /ofgrto>
Na configurao de exemplo, o acesso negado pgina fsica S a c . s xpara todos os usurios, erhap exceto aqueles que esto no papel de administrador. Quando o checkPhysicalUrlAccess parmetro definido como verdadeiro (que o valor padro), somente os usurios de administrador tm permisso para acessar a URL / search / {} searchterm, porque o Search.aspx pgina fsica restrito a usurios nesse papel. Se checkPhysicalUrlAccess definido como falso eo site configurado como mostrado no exemplo anterior, todos os usurios autenticados tm permisso para acessar a URL / search / {} searchterm.
No cdigo da pgina Web Forms fsico, voc pode acessar as informaes de roteamento que foi extrado da URL (ou outras informaes que um outro objeto foi adicionado ao RouteData objeto) usando duas novas propriedades: HttpRequest.RequestContext e Page.RouteData . ( Page.RouteData envolve HttpRequest.RequestContext.RouteData .) O exemplo a seguir mostra como usar Page.RouteData . poetdvi Pg_odojc sne,Eetrse rtce od aeLa(bet edr vnAg ) { srn sactr =Pg.otDt.aus"erhem]a srn; tig erhem aeRueaaVle[sactr" s tig lbl.et=sactr; ae1Tx erhem }
O cdigo extrai o valor que foi passado para o parmetro searchterm, tal como definido na rota exemplo anterior. Considere o URL seguinte pedido: ht ://lclot/sac /sot/ tp oahs erh ct
www.asp.net/whitepapers/aspnet4
16/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Quando esse pedido for feito, a palavra "scott" seria processado na S a c . s xpgina. erhap
O mtodo descrito na seo anterior mostra como obter dados de rota no cdigo em uma pgina Web Forms. Voc tambm pode usar expresses na marcao que lhe do acesso mesma informao. Construtores de expresso so uma maneira poderosa e elegante para trabalhar com cdigo declarativo. (Para mais informaes, consulte a entrada de Express Yourself com os construtores expresso personalizada no blog do Phil Haack.) ASP.NET 4 inclui dois construtores de expresso novos para Web Forms de roteamento. O exemplo a seguir mostra como us-los. <s:HprikI ="yeLn1 rnt="evr Ap yeLn D Hprik" ua sre" NvgtUl="< $Ruer :SacTr =sot>" BsaprSot< ap Hprik aiaer % otUl erhem ct% > uc o ct / s: yeLn>
No exemplo, o RouteUrl expresso usada para definir um URL que baseada em um parmetro de rota. Isso evita que voc tenha de hard-code a URL completa para a marcao, e permite alterar a estrutura de URL mais tarde sem necessidade de qualquer alterao a este link. Com base no percurso definido anteriormente, esta marcao gera o seguinte URL: ht ://lclot/sac /sot tp oahs erh ct
ASP.NET funciona automaticamente para fora do percurso correcto (isto , que gera o URL correcto) com base nos parmetros de entrada. Voc tambm pode incluir um nome de rota na expresso, o que permite que voc especifique um caminho para usar. O exemplo seguinte mostra como utilizar o RouteValue expresso. <s:LblI ="ae1 rnt="evr Tx ="< $Rueau :SacTr % "> Ap ae D Lbl" ua sre" et % otVle erhem > /
Quando a pgina que contm este controle executado, o valor "scott" exibido no rtulo. O RouteValue expresso torna simples de usar dados de rota na marcao, e evita ter que trabalhar com o Page.RouteData mais complexo ["x"] sintaxe na marcao.
O RouteParameter classe permite que voc especifique encaminhar os dados como um valor de parmetro para consultas em um controle da fonte de dados. funciona como a classe, como mostrado no seguinte exemplo: <s:SlaaoreI ="qDtSuc1 rnt="evr Ap qDtSuc D Slaaore" ua sre" CnetoSrn ="< R$CnetoSrns:MNrhid% " oncintig % oncintig yotwn > SlcCmad="opnNm SLC,CdgDTasotdr predstasotdrs eetomn Cmayae EET ioarnpraoa at o rnpraoe
Neste caso, o valor do parmetro searchterm percurso ir ser utilizado para o parmetro @ companyname no Select declarao.
www.asp.net/whitepapers/aspnet4
17/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
identificao do cliente gerado para controles. Voc pode definir o ClientIDMode propriedade de qualquer controle, inclusive para a pgina. Configuraes possveis so as seguintes: AutoID - Isto equivalente ao algoritmo para gerar ClientID valores de propriedade que foi usado em verses anteriores do ASP.NET. Esttica - Isto especifica que a ClientID valor ser o mesmo que o ID sem concatenar os IDs de recipientes de nomenclatura pai. Isto pode ser til no controlo de utilizador Web. Como um controle de usurio da Web pode ser localizado em diferentes pginas e controles de recipiente diferentes, pode ser difcil de escrever script de cliente para controles que usam o AutoID algoritmo porque voc no pode prever o que os valores de identificao ser. Previsvel - Esta opo principalmente para uso em controles de dados que usam modelos de repetio. Concatena as propriedades de identificao de contentores de nomeao do controle, mas gerou ClientID valores no contm strings como "ctlxxx". Esta configurao funciona em conjunto com o ClientIDRowSuffix propriedade do controle. definir o ClientIDRowSuffix propriedade para o nome de um campo de dados, eo valor do campo utilizada como o sufixo para o gerado ClientID valor. Normalmente voc usaria a chave primria de um registro de dados como o ClientIDRowSuffix valor. Herdar - Esta definio o comportamento padro dos controles, que especifica que a gerao de um controle de identificao o mesmo como seu pai. Voc pode definir o ClientIDMode propriedade no nvel da pgina. Isso define o padro ClientIDMode valor para todos os controles na pgina atual. O padro ClientIDMode valor no nvel da pgina AutoID eo padro ClientIDMode valor no nvel de controle Herdar . Como resultado, se voc no definir essa propriedade em qualquer lugar no seu cdigo, todos os controles padro ser o AutoID algoritmo. Voc define o valor em nvel de pgina na @ Page directiva, como mostrado no exemplo a seguir: < @Pg Lnug =" # AtEetiep="re % ae agae C " uovnWru tu" CdFl ="eal.sxc" oeie Dfutap.s Ihrt ="Dfut neis _eal" CinIMd = "rdcal" letDoe % Peitbe>
Voc tambm pode definir o ClientIDMode valor no arquivo de configurao, quer no computador (mquina) nvel ou em nvel de aplicativo. Isso define o padro ClientIDMode configurao para todos os controles em todas as pginas do aplicativo. Se voc definir o valor no nvel do computador, ele define o padro ClientIDMode configurao para todos os sites da Web no computador. O exemplo a seguir mostra o ClientIDMode configurao no arquivo de configurao: <itm .wb> Ssea e <ia CinIMd ="rdcal">< pgs pgns letDoe Peitbe / ae> < ssea.wb> / itm e
Como notado anteriormente, o valor da ClientID propriedade derivado a partir do recipiente de nomenclatura para me de um controle. Em algumas situaes, como quando voc estiver usando pginas mestras, controles podem acabar com IDs como os da seguinte prestados HTML: <i i=cl0CnetlcHle1PrnPnl> dv d"t0_otnPaeodr_aetae" <i i=cl0CnetlcHle1PrnPnlNmnPnl" dv d"t0_otnPaeodr_aetae_aigae1> <nu nm=cl0CnetlcHle1PrnPnlNmnPnl$eto1 ipt ae"t0$otnPaeodr$aetae$aigae1TxBx" tp=tx"vle"el! ye"et au=Hlo" i=cl0CnetlcHle1PrnPnlNmnPnl_eto1 / d"t0_otnPaeodr_aetae_aigae1TxBx" > <dv /i>
Mesmo que a entrada elemento mostrado na marcao (de um TextBox controle) de apenas dois recipientes de nomenclatura profundas na pgina (as aninhadas ContentPlaceholder controles), por causa da forma como as pginas mestras so processados, o resultado final um ID de controle como a seguinte : cl0CnetlcHle1PrnPnlNmnPnl_eto1 t0_otnPaeodr_aetae_aigae1TxBx
Essa identificao a garantia de ser nico na pgina, mas desnecessariamente longo para a maioria dos propsitos. Imagine que voc deseja reduzir o comprimento do ID prestados, e para ter mais controle sobre como o ID gerado. (Por exemplo, voc quer eliminar "ctlxxx" prefixos.) A maneira mais fcil de conseguir isso atravs da criao do ClientIDMode propriedade como mostrado no exemplo a seguir: <cNmnPnlrnt"evr I=PrnPnl CinIMd=Sai" t:aigae ua=sre" D"aetae" letDoe"ttc> <cNmnPnlrnt"evr I=NmnPnl"CinIMd=Peitbe> t:aigae ua=sre" D"aigae1 letDoe"rdcal" <s:eto I=TxBx"rnt"evr Tx=Hlo"<apTxBx apTxBx D"eto1 ua=sre" et"el!>/s:eto>
www.asp.net/whitepapers/aspnet4
18/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<t:aigae> /cNmnPnl
<t:aigae> /cNmnPnl
Nesta amostra, o ClientIDMode propriedade definida como esttica para o exterior NamingPanel elemento, e definida como previsvel para o interior NamingControl elemento. Estes resultados configuraes na marcao seguinte (o resto da pgina e pgina-mestre assumido como sendo o mesmo que no exemplo anterior): <i i=PrnPnl> dv d"aetae" <i i=PrnPnlNmnPnl" dv d"aetae_aigae1> <nu nm=cl0CnetlcHle1PrnPnlNmnPnl$eto1 ipt ae"t0$otnPaeodr$aetae$aigae1TxBx" tp=tx"vle"el! i=PrnPnlNmnPnl_eto1 / ye"et au=Hlo" d"aetae_aigae1TxBx" > <dv /i>
A esttica configurao tem o efeito de repor a hierarquia de nomenclatura para os controles dentro do exterior NamingPanel elemento, e de eliminar o ContentPlaceHolder e MasterPage IDs do ID gerado. (O nome de atributo de elementos processados afetado, de modo a funcionalidade ASP.NET no normal mantida para eventos, estado de exibio, e assim por diante.) Um efeito colateral de redefinir a hierarquia de nomes que, mesmo se voc mover a marcao para os NamingPanel elementos para um diferente ContentPlaceholder controlo, as identificaes de cliente fundidas permanecer o mesmo.
Observao: at voc para se certificar de que as identificaes de controle prestados so nicos. Se no forem, pode quebrar qualquer funcionalidade que requer IDs nicos para cada elementos HTML, tais como o cliente document.getElementById funo.
Os ClientID valores que so gerados para controles em um controle de lista ligado a dados pelo algoritmo de legado pode ser longo e no so realmente previsvel. O ClientIDMode funcionalidade pode ajudar voc a ter mais controle sobre como esses IDs so gerados. A marcao no exemplo a seguir inclui um ListView controle: <s:itiwI=LsVe1 rnt"evr DtSucI=Slaaore" apLsVe D"itiw" ua=sre" aaoreD"qDtSuc1 OSlceIdxhne=LsVe1SlceIdxhne" neetdneCagd"itiw_eetdneCagd CinIMd=Peitbe letDoe"rdcal" RwletDoSfi=PoutD> oCinIRwufx"rdcI" <apLsVe> /s:itiw
No exemplo anterior, os ClientIDMode e RowClientIDRowSuffix propriedades so definidas na marcao. O ClientIDRowSuffix propriedade pode ser usada somente em controles ligados a dados, e seu comportamento diferente dependendo de qual controle voc est usando. As diferenas so as seguintes: GridView controle - Voc pode especificar o nome de uma ou mais colunas na fonte de dados, que so combinados em tempo de execuo para criar os IDs do cliente. Por exemplo, se voc definir RowClientIDRowSuffix para "ProductName, ProductId", IDs de controle para elementos prestados ter um formato semelhante ao seguinte: roPnlGiVe1Poutaeae_hi1 otae_rdiw_rdcNmLblCa_
ListView controle - Voc pode especificar uma nica coluna na fonte de dados que anexado identificao do cliente. Por exemplo, se voc definir ClientIDRowSuffix para "ProductName", os IDs de controle prestados ter um formato semelhante ao seguinte: roPnlLsVe1Poutaeae_ otae_itiw_rdcNmLbl1
Neste caso, a uma fuga derivado do ID de produto do item de dados actual. Repeater controle Este controle no suporta a ClientIDRowSuffix propriedade. Em um repetidor de controlo, o ndice da linha corrente utilizado. Quando voc usa ClientIDMode = "Predictable", com um Repeater controle, IDs so gerados cliente que tem o seguinte formato: Rpae1Poutaeae_ eetr_rdcNmLbl0
www.asp.net/whitepapers/aspnet4
19/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
O FormView e DetailsView controles no exibir vrias linhas, para que eles no suportam o ClientIDRowSuffix propriedade.
Figura 2: Exemplos de controle ASP.NET Grfico Para mais exemplos de como usar o controle de grfico ASP.NET, baixar o cdigo de exemplo sobre
www.asp.net/whitepapers/aspnet4
20/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
o Ambiente Grfico amostras para a Microsoft controla pgina no site do MSDN. Voc pode encontrar mais amostras de contedo da comunidade no Frum de Controle Grfico .
O exemplo a seguir mostra como adicionar um grfico de controle para uma pgina ASP.NET usando marcao. No exemplo, o grfico de controle produz um grfico de colunas para os pontos de dados estticos.
A" Yaus"4"/ Vle = 35 > <s:DtPit AiLbl="rdt B Yaus"5"/ ap aaon xsae Pouo " Vle = 46 > <s:DtPit AiLbl="rdt C Yaus"2"/ ap aaon xsae Pouo " Vle = 15 > <s:DtPit AiLbl="pouo ap aaon xsae rdt
Vna " / eds > < Lgns / eed> < ap Cat / s: hr>
O Grfico de controle contm um ChartAreas coleo, que pode conter ChartArea objetos que definem as caractersticas de reas de grfico. Por exemplo, para usar em 3-D para uma rea do grfico, utilizar o Area3DStyle propriedade como no exemplo seguinte:
A figura abaixo mostra um grfico 3-D com quatro sries do Bar tipo de grfico.
Quebras de escala e escalas logartmicas so duas maneiras adicionais para adicionar sofisticao ao grfico. Estas caractersticas so especficas para cada eixo, em uma rea do grfico. Por exemplo, para utilizar esses recursos no eixo Y primrio de uma rea do grfico, utilize os AxisY.IsLogarithmic e ScaleBreakStyle propriedades em um ChartArea objeto. O trecho a seguir mostra como usar quebras de escala no eixo Y primrio.
www.asp.net/whitepapers/aspnet4
21/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Pesquisar
Para a opo de pesquisa, o QueryExtender controle realiza uma pesquisa em campos especficos. No exemplo a seguir, o controle usa o texto que inserido no controle TextBoxSearch e procura por seu contedo nos P o u t a ee S p l e . o p n N m colunas nos dados que so retornados da rdcNm upirCmayae LinqDataSource controle. <s:iqaaoreI=dtSuc"rnt"evr>Tbeae"rdcs> apLnDtSuc D"aaore ua=sre" alNm=Pout" <apLnDtSuc> /s:iqaaore <s:urEtne TreCnrlD"aaore rnt"evr> apQeyxedr agtotoI=dtSuc" ua=sre" <s:erhxrsinDtFed=Poutae Sple.opnNm" apSacEpeso aails"rdcNm, upirCmayae SacTp=SatWt" erhye"trsih> <s:otoPrmtrCnrlD"etoSac"/ apCnrlaaee otoI=TxBxerh > <apSacEpeso> /s:erhxrsin <apQeyxedr /s:urEtne>
Srie
A opo de intervalo semelhante opo de busca, mas especifica um par de valores para definir o intervalo. No exemplo a seguir, o QueryExtender controle procura o U i P i ecoluna nos dados ntrc retornados do LinqDataSource controle. A gama lido a partir dos controles TextBoxFrom e TextBoxTo na pgina. <s:iqaaoreI=dtSuc"rnt"evr>Tbeae"rdcs> apLnDtSuc D"aaore ua=sre" alNm=Pout" <apLnDtSuc> /s:iqaaore <s:urEtne TreCnrlD"aaore rnt"evr> apQeyxedr agtotoI=dtSuc" ua=sre" <s:agEpeso DtFed"ntrc"Mnye"nlsv" apRnexrsin aail=UiPie iTp=Icuie Mxye"nlsv" aTp=Icuie> <s:otoPrmtrCnrlD"etoFo"/ apCnrlaaee otoI=TxBxrm > <s:otoPrmtrCnrlD"eBxo / apCnrlaaee otoI=TxoT" >
www.asp.net/whitepapers/aspnet4
22/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<apRnexrsin /s:agEpeso>
<apQeyxedr /s:urEtne>
PropertyExpression
A opo de expresso de propriedade permite que voc defina uma comparao com um valor de propriedade. Se a expresso for avaliada como verdadeira , os dados que est a ser examinado retornado. No exemplo seguinte, o QueryExtender controlo filtra dados por comparao dos dados no D s o t n a ocoluna para o valor do controle CheckBoxDiscontinued na pgina. ecniud <s:iqaaoreI=dtSuc"rnt"evr Tbeae"rdcs> apLnDtSuc D"aaore ua=sre" alNm=Pout" <apLnDtSuc> /s:iqaaore <s:urEtne TreCnrlD"aaore rnt"evr> apQeyxedr agtotoI=dtSuc" ua=sre" <s:rpryxrsin apPoetEpeso> <s:otoPrmtrCnrlD"hcBxicniud Nm=Dsotne"/ apCnrlaaee otoI=CekoDsotne" ae"icniud > <apPoetEpeso> /s:rpryxrsin <apQeyxedr /s:urEtne>
CustomExpression
Finalmente, voc pode especificar uma expresso personalizada para usar com o QueryExtender controle. Esta opo permite que voc chamar uma funo na pgina que define a lgica filtro personalizado. O exemplo a seguir mostra como especificar declarativamente uma expresso personalizada no QueryExtender controle. <s:iqaaoreI=dtSuc"rnt"evr Tbeae"rdcs> apLnDtSuc D"aaore ua=sre" alNm=Pout" <apLnDtSuc> /s:iqaaore <s:urEtne TreCnrlD"aaore rnt"evr> apQeyxedr agtotoI=dtSuc" ua=sre" <s:utmxrsinOQeyn=FlePout"/ apCsoEpeso nurig"itrrdcs > <apQeyxedr /s:urEtne>
O exemplo a seguir mostra o personalizado funo que invocada pela QueryExtender controle. Neste caso, em vez de usar uma consulta de dados, que inclui um Onde clusula, o cdigo usa uma consulta LINQ para filtrar os dados. poetdvi FlePout(betsne,CsoEpesoEetrse rtce od itrrdcsojc edr utmxrsinvnAg ) { eQey=fo pi eQeyCs( .ur rm n .ur.at) weepUiPie> 1 hr .ntrc = 0 slc p eet ; }
Estes exemplos mostram apenas uma expresso a ser utilizado no QueryExtender controlo de cada vez. No entanto, voc pode incluir vrias expresses dentro do QueryExtender controle.
Esta sintaxe usa a codificao HTML por padro quando se escreve para a resposta. Esta nova expresso traduz efectivamente para o seguinte: < = HtUiiy.HmEcd (epeso)% % tptlt tlnoe xrs >
Por exemplo, <%: Request ["userinput"]%> executa codificao HTML no valor de Request ["userinput"] . O objetivo desse recurso para torn-lo possvel substituir todas as instncias da sintaxe antiga com a nova sintaxe para que voc no obrigado a decidir em cada etapa qual usar. No entanto, h casos em que a sada de texto sendo se destina a ser HTML ou j est codificado, caso em que isto poderia conduzir a uma dupla codificao. Para esses casos, ASP.NET 4 introduz uma nova interface, IHtmlString , juntamente com uma
www.asp.net/whitepapers/aspnet4
23/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
implementao concreta, HtmlString . As instncias desses tipos permitem que voc indicar que o valor de retorno j est devidamente codificado (ou outro tipo de exame) para exibir como HTML, e que, portanto, o valor no deve ser codificado em HTML novamente. Por exemplo, o seguinte no deve ser (e no ) HTML codificado: <: nv HmSrn ("TL<tog qenoet cdfcd < srn> )% % oo tltig HM srn> u s oiiao / tog" >
ASP.NET MVC 2 mtodos auxiliares foram atualizados para trabalhar com esta nova sintaxe para que eles no valem o dobro codificado, mas s quando voc estiver executando o ASP.NET 4. Esta nova sintaxe no funciona quando voc executar um aplicativo usando ASP.NET 3.5 SP1. Tenha em mente que isso no garante a proteo contra ataques XSS. Por exemplo, o HTML que usa valores de atributos que no esto entre aspas pode conter a entrada do usurio que ainda suscetvel. Observe que a sada de controles do ASP.NET e ASP.NET MVC ajudantes sempre inclui os valores dos atributos entre aspas, que a abordagem recomendada. Do mesmo modo, esta sintaxe no executa JavaScript de codificao, como quando voc criar uma seqncia de JavaScript com base na entrada do usurio.
Visual Studio tambm suporta um vazio Web tipo de projeto do site, que no contm arquivos em tudo, como mostrado na figura a seguir:
O resultado que para o iniciante, h muito pouca orientao sobre como construir uma aplicao Web de produo. Portanto, ASP.NET 4 apresenta trs novos modelos, um para um projeto vazio de aplicativo da Web, e cada um para um aplicativo da Web e projeto Web Site.
Como o nome sugere, o modelo de aplicativo da Web vazio um despojado Web Application. Voc seleciona este modelo de projeto da caixa de dilogo Visual Estdio New Project, como mostrado na figura a seguir:
( Clique para ver a imagem no tamanho completo ) Quando voc cria um vazio aplicativo da Web ASP.NET, Visual Studio cria o layout seguinte pasta:
www.asp.net/whitepapers/aspnet4
24/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Isto semelhante ao layout Vazio Web Site a partir de verses anteriores do ASP.NET, com uma exceo. No Visual Studio 2010, Web Application Vazio e projetos Web site vazio conter o seguinte mnima W b c n i arquivo que contm informaes usadas pelo Visual Studio para identificar o e.ofg quadro que o projeto tem como alvo:
Sem esta targetFramework propriedade, o padro do Visual Studio para direcionamento do. NET Framework 2.0, a fim de preservar a compatibilidade ao abrir aplicativos mais antigos.
Os outros dois novos modelos de projeto que so fornecidos com o Visual Studio 2010 contm grandes mudanas. A figura a seguir mostra o layout do projeto que criado quando voc cria um novo projeto de aplicativo da Web. (O layout de um projeto de site da Web virtualmente idntico.)
O projeto inclui uma srie de arquivos que no foram criados em verses anteriores. Alm disso, o novo projeto de aplicativo da Web est configurado com a funcionalidade de nvel bsico, que permite que voc rapidamente comear a proteger o acesso para a nova aplicao. Devido a essa incluso, o W b c n i de arquivo para o novo projeto inclui entradas que so usados e.ofg para configurar membros, papis e perfis. O exemplo a seguir mostra o W b c n i de arquivo para um e.ofg novo projeto Web Application. (Neste caso, roleManager est desativado.)
www.asp.net/whitepapers/aspnet4
25/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
( Clique para ver a imagem no tamanho completo ) O projeto tambm contm um segundo W b c n i arquivo na c n ado diretrio. O segundo e.ofg ot arquivo de configurao fornece uma maneira de garantir o acesso pgina ChangePassword.aspx para no-usurios logados. O exemplo seguinte mostra o contedo do segundo W b c n i arquivo. e.ofg
As pginas criadas por padro nos novos modelos de projeto tambm contm mais contedo do que nas verses anteriores. O projeto contm uma pgina mestra padro e arquivo CSS, ea pgina padro (Default.aspx) configurado para usar a pgina mestra por padro. O resultado que quando voc executar o aplicativo da Web ou Web site pela primeira vez, a pgina (home) j funcional. Na verdade, semelhante pgina padro que voc v quando voc iniciar um aplicativo MVC novo.
( Clique para ver a imagem no tamanho completo ) A inteno dessas mudanas para os modelos de projeto fornecer orientaes sobre como comear a construir um novo aplicativo da Web. Com semanticamente correcta, rigorosa XHTML, marcao 1,0compatvel e com layout que especificado usando CSS, as pginas dos modelos representam as melhores prticas para a construo de aplicaes Web ASP.NET 4. As pginas padro tambm tem um layout de duas colunas que voc pode personalizar facilmente. Por exemplo, imagine que, para um novo aplicativo da Web que voc quer mudar algumas das cores e inserir o logotipo da empresa no lugar do logotipo do meu aplicativo ASP.NET. Para fazer isso, voc cria um novo diretrio em C n e d para guardar a sua imagem do logotipo: oto
Para adicionar a imagem da pgina, voc abra o S t . a t rarquivo, encontrar onde o meu texto ieMse do aplicativo ASP.NET definido, e substitu-lo com uma imagem de elemento cujo src atributo definido como a imagem do logotipo novo, como no seguindo o exemplo:
( Clique para ver a imagem no tamanho completo ) Em seguida, pode ir para o arquivo Site.css e modificar as definies de classe CSS para mudar a cor de fundo da pgina, bem como a do cabealho, como no exemplo seguinte:
O resultado dessas mudanas que voc pode exibir uma pgina inicial personalizada com muito
www.asp.net/whitepapers/aspnet4
26/39
06/05/12
pouco esforo:
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Melhorias CSS
Uma das principais reas de trabalho em ASP.NET 4 tem sido ajudar a renderizao HTML que compatvel com os ltimos padres HTML. Isso inclui mudanas na maneira como controles de servidor Web ASP.NET usar estilos CSS.
Por padro, quando um aplicativo da Web ou Web site tem como alvo o. NET Framework 4, o controlRenderingCompatibilityVersion atributo do pginas elemento definido como "4.0". Este elemento definido no nvel da mquina W b c n i arquivo e por padro aplica-se a todos os 4 do ASP.NET e.ofg aplicaes: <itm .wb> Ssea e <ia cnrledrnCmaiiiyeso =", |40 / pgns otoRneigoptbltVrin 35 ," > < ssea.wb> / itm e
O valor para controlRenderingCompatibility uma string, que permite que os potenciais definies de novas verses em verses futuras. Na verso atual, os seguintes valores so suportados para este imvel: "3.5". Essa configurao indica renderizao de herana e de marcao. Marcao processada por controles 100% compatvel, ea definio do xhtmlConformance propriedade honrado. "4.0". Se a propriedade tiver essa configurao, os controles de servidor Web do ASP.NET fazer o seguinte: O xhtmlConformance propriedade sempre tratado como "Strict". Como resultado, controles processam marcao XHTML 1.0 Strict. A desativao no controla a entrada j no torna invlidos estilos. div elementos em torno de campos ocultos so agora estilo para que eles no interfiram com o usurio criado regras CSS. Menu controles processam a marcao que semanticamente correto e em conformidade com as directrizes de acessibilidade. Controles de validao no renderizam estilos inline. Controles que fazem fronteira anteriormente prestado = "0" (controles que derivam do ASP.NET Tabela de controle, eo ASP.NET Imagem de controle) no tornam este atributo.
Controles incapacitantes
No ASP.NET 3.5 SP1 e verses anteriores, o quadro torna a deficientes atributo na marcao HTML para qualquer controle cujo Ativado propriedade definida como false . No entanto, de acordo com a especificao do HTML 4.01, somente de entrada elementos devem ter este atributo. No ASP.NET 4, voc pode definir o controlRenderingCompatabilityVersion propriedade de "3,5", como no exemplo a seguir: <itm .wb> Ssea e <ia cnrledrnCmaiiiyeso ="."/ pgns otoRneigoptbltVrin 35 > < ssea.wb> / itm e
Voc pode criar uma marcao de uma etiqueta de controle como a seguinte, que desativa o controle: <s:Lbl I ="ae" rnt="evr Txo="et" Hbltd ="as"> Ap ae D Lbl ua sre" et Tse aiiao fle
www.asp.net/whitepapers/aspnet4
27/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
A etiqueta de controle tornaria o HTML seguinte: <pn i ="ae1 dstvd ="iald >tse< sa> Sa d Lbl" eaiao dsbe" et / pn
No ASP.NET 4, voc pode definir o controlRenderingCompatabilityVersion para "4.0". Nesse caso, somente os controles que tornam entrada elementos vo render uma deficincia atributo quando o controle ativado propriedade definida como false . Controles que no prestam HTML de entrada de elementos em vez tornar uma classe atributo que faz referncia a uma classe CSS que voc pode usar para definir um visual com deficincia para o controle. Por exemplo, a etiqueta de controlo representado no exemplo anterior geraria a marcao a seguir: <pn i ="pn" cas ="sntiald >tse< sa> Sa d Sa1 lse apedsbe" et / pn
O valor padro para a classe que o especificado para este controle "aspNetDisabled". No entanto, voc pode alterar este valor padro definindo a esttica DisabledCssClass propriedade esttica da WebControl classe. Para desenvolvedores de controle, o comportamento a ser usado para um controle especfico tambm pode ser definida usando o SupportsDisabledAttribute propriedade.
Voc pode, ento, definir uma classe CSS que se aplica apenas s escondidas elementos que so geradas pelo ASP.NET, como no exemplo a seguir: <sio tp ="et/cs > Etl io tx s" DV#apeHde {fotia:0; I sNtidn rner } < sye / tl>
Essa marcao deixa o seguinte resultado para a pgina, que inclui uma tabela de HTML: <al clsaig""bre=0 i=Tbe"sye"odrclas:olpe" tbe elpcn=0 odr"" d"al1 tl=bre-olpeclas;> <r t> <dclpn"" t osa=2> Cnet otn <t> /d <t> /r
www.asp.net/whitepapers/aspnet4
28/39
06/05/12
<tbe /al>
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Para impedir que a tabela que est sendo processado, voc pode definir o FormView controle RenderOuterTable propriedade, como no exemplo a seguir: <s:FrVe I ="omiw" rnt="evr RneOtral ="as"> Ap omiw D FrVe1 ua sre" edrueTbe fle
O exemplo anterior torna a sada seguinte, sem a tabela , tr , e td elementos: Contedo Este aprimoramento pode tornar mais fcil ao estilo do contedo do controle com a CSS, porque nenhuma tag inesperados so prestados pelo controle.
Observao Essa alterao desativa o suporte para a funo de auto-format no Visual Studio designer 2010, porque no h mais uma tabela elemento que pode hospedar os atributos de estilo que so gerados pela opo de auto-formatao.
No ASP.NET 4, o ListView controle no exige um modelo de layout. A marcao mostrado no exemplo anterior pode ser substitudo com a seguinte marcao: <s:itiwI=LsVe1 rnt"evr> apLsVe D"itiw" ua=sre" <tmepae IeTmlt> < Ea(LsNm"% % vl"atae)> <IeTmlt> /tmepae <apLsVe> /s:itiw
Por padro, os controles processam HTML semelhante seguinte: <pni=Sa2>ipti=CekoLs10 tp=ceko" sa d"pn"<nu d"hcBxit_" ye"hcbx nm=CekoLs10 /<ae fr"hcBxit_"CekoLs<lbl<sa> ae"hcBxit$" >lbl o=CekoLs10>hcBxit/ae>/pn <al i=Rdoutnit"bre=0> tbe d"aiBtoLs1 odr"" <r t> <d<nu i=Rdoutnit_"tp=rdo nm=Rdoutnit"vle"b"/<ae fr"aiBtoLs10>aiBtoLs t>ipt d"aiBtoLs10 ye"ai" ae"aiBtoLs1 au=rl >lbl o=Rdoutnit_"Rdoutnit
www.asp.net/whitepapers/aspnet4
29/39
06/05/12
<t> /r <tbe /al>
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Porque esses controles contm listas de itens, para processar HTML semanticamente correto, eles devem tornar seus contedos utilizando HTML lista ( li ) elementos. Isto torna mais fcil para os usurios que lem pginas da Web usando tecnologia assistiva, e faz com que os controles mais fceis de estilo usando CSS. No ASP.NET 4, os CheckBoxList e RadioButtonList controles suportam os seguintes valores novos para a RepeatLayout propriedade: ListaOrdenada - O contedo apresentado como li elementos dentro de uma ol elemento. UnorderedList - O contedo apresentado como li elementos dentro de um ul elemento. O exemplo a seguir mostra como usar esses novos valores.
<s:hcBxitI=CekoLs1 rnt"evr apCekoLs D"hcBxit" ua=sre" RpaLyu=Odrdit> eetaot"reeLs" <s:ittmTx=CekoLs"Vle"b"/ apLsIe et"hcBxit au=cl > <apCekoLs> /s:hcBxit
<s:aiBtoLs I=Rdoutnit"rnt"evr apRdoutnit D"aiBtoLs1 ua=sre" RpaLyu=Uodrdit> eetaot"nreeLs" <s:ittmTx=Rdoutnit Vle"b"/ apLsIe et"aiBtoLs" au=rl > <apRdoutnit /s:aiBtoLs>
<li=CekoLs1> o d"hcBxit" <i<nu i=CekoLs10 tp=ceko"nm=CekoLs10 vle"b"/<ae fr"hcBxit_"CekoLs<lbl<l> l>ipt d"hcBxit_" ye"hcbx ae"hcBxit$" au=cl >lbl o=CekoLs10>hcBxit/ae>/i <o> /l
<li=Rdoutnit" u d"aiBtoLs1> <i<nu i=Rdoutnit_"tp=rdo nm=Rdoutnit"vle"b"/<ae fr"aiBtoLs10>aiBtoLs<lbl< l>ipt d"aiBtoLs10 ye"ai" ae"aiBtoLs1 au=rl >lbl o=Rdoutnit_"Rdoutnit/ae> <u> /l
Observao Se voc definir RepeatLayout para listaOrdenada ou UnorderedList , o RepeatDirection propriedade no pode mais ser usado e vai lanar uma exceo em tempo de execuo se a propriedade tiver sido definida dentro de sua marcao ou cdigo. A propriedade no teria valor porque o layout visual desses controles definida utilizando CSS ao invs.
<s:euI=Mn1 rnt"evr> apMn D"eu" ua=sre" <tm><s:eutmTx=Hm"Vle"oe / Ies apMnIe et"oe au=Hm" > <s:eutmTx=Aot Vle"bu"/ apMnIe et"bu" au=Aot > <Ies /tm> <apMn> /s:eu
Quando a pgina processa, o controlo produz o seguinte HTML (o onclick cdigo foi omitida para maior clareza):
www.asp.net/whitepapers/aspnet4
30/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<i i=Mn1> dv d"eu" <l u> <i< he=# ocik"."Hm<a<l> l>a rf"" nlc=..>oe/>/i <i< he=# ocik"."Aot/>/i l>a rf"" nlc=..>bu<a<l> <u> /l <dv /i> <cittp=tx/aacit> srp ye"etjvsrp" nwSsWbom.eu'eu'; e y.eFrsMn(Mn1) <srp> /cit
Alm de melhorias de renderizao, navegao pelo teclado do menu foi melhorada usando o gerenciamento de foco. Quando o Menu de controle recebe o foco, voc pode usar as setas do teclado para navegar elementos. O menu de controle tambm agora atribui Accessible Rich Internet Applications (ARIA) papis e atributos Follo ala para a melhoria da acessibilidade. Estilos para o controle de menu so processados um bloco de estilo no topo da pgina, ao invs em de em linha com os elementos prestados HTML. Se voc quiser assumir o controle total sobre o estilo para o controle, voc pode definir o novo IncludeStyleBlock propriedade para false , caso em que o bloco de estilo no emitida. Uma forma de usar essa propriedade usar o recurso de auto-format no designer do Visual Studio para definir a aparncia do menu. Voc pode ento executar a pgina, abrir o cdigo fonte da pgina e copie o bloco de estilo prestado a um arquivo CSS externo. No Visual Studio, desfazer o estilo e definir IncludeStyleBlock para falso . O resultado que o aparecimento de menu definida utilizando estilos em uma folha de estilo externa.
<s:raesriadI=CetUeWzr1 rnt"evr AtvSeIdx"" apCetUeWzr D"raesriad" ua=sre" cietpne=0> <edrepae HaeTmlt> <HaeTmlt> /edrepae <ieaTmlt> SdBrepae <SdBrepae /ieaTmlt> <tpaiainepae SeNvgtoTmlt> <SeNvgtoTmlt> /tpaiainepae <trNvgtoTmlt> Sataiainepae <Sataiainepae /trNvgtoTmlt> <iihaiainepae FnsNvgtoTmlt> <FnsNvgtoTmlt> /iihaiainepae <iadtp> WzrSes <s:raesriadtpI=CetUeWzrSe1 rnt"evr> apCetUeWzrSe D"raesriadtp" ua=sre" <otnTmlt> Cnetepae <Cnetepae /otnTmlt>
<utmaiainepae CsoNvgtoTmlt> <CsoNvgtoTmlt> /utmaiainepae <apCetUeWzrSe> /s:raesriadtp <s:opeeiadtpI=CmltWzrSe1 rnt"evr> apCmltWzrSe D"opeeiadtp" ua=sre" <otnTmlt> Cnetepae <Cnetepae /otnTmlt> <apCmltWzrSe> /s:opeeiadtp <WzrSes /iadtp> <apCetUeWzr> /s:raesriad
<al clsaig""clpdig""bre=0 i=CetUeWzr1 sye"odrclas:olpe" tbe elpcn=0 eladn=0 odr"" d"raesriad" tl=bre-olpeclas;> <r t> <dHae<t> t>edr/d <t> /r
www.asp.net/whitepapers/aspnet4
31/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<rsye"egt10;> t tl=hih:0%" <d t> <al clsaig""clpdig""bre=0 sye"egt10;it:0%bre-olpeclas;> tbe elpcn=0 eladn=0 odr"" tl=hih:0%wdh10;odrclas:olpe" <r t> <dsye"egt10;it:0%"<t> t tl=hih:0%wdh10;>/d <t> /r <tbe /al> <t> /d <t> /r <r t> <dain"ih"<t> t lg=rgt>/d <t> /r
<tbe /al>
No ASP.NET 3.5 SP1, embora voc possa alterar o contedo do modelo, voc ainda tem controle limitado sobre a sada do Assistente de controle. No ASP.NET 4, voc pode criar um LayoutTemplate modelo e inserir PlaceHolder controles (usando nomes reservados) para especificar como voc deseja que o controle Wizard para renderizar. O exemplo a seguir mostra isso:
<s:raesriadI=CetUeWzr1 rnt"evr AtvSeIdx"" apCetUeWzr D"raesriad" ua=sre" cietpne=1> <aotepae LyuTmlt> <s:lcHle I=haePaeodr rnt"evr / apPaeodr D"edrlchle" ua=sre" > <s:lcHle I=sdBrlchle"rnt"evr / apPaeodr D"ieaPaeodr ua=sre" > <s:lcHle i=wzrSePaeodr rnt"evr / apPaeodr d"iadtplchle" ua=sre" > <s:lcHle i=nvgtoPaeodr rnt"evr / apPaeodr d"aiainlchle" ua=sre" > <LyuTmlt> /aotepae <edrepae HaeTmlt> Hae edr <HaeTmlt> /edrepae <iadtp> WzrSes <s:raesriadtprnt"evr> apCetUeWzrSe ua=sre" <otnTmlt> Cnetepae <Cnetepae /otnTmlt> <apCetUeWzrSe> /s:raesriadtp <s:opeeiadtprnt"evr> apCmltWzrSe ua=sre" <otnTmlt> Cnetepae <Cnetepae /otnTmlt> <apCetUeWzrSe> /s:raesriadtp <WzrSes /iadtp> <apCetUeWzr> /s:raesriad
O exemplo contm os seguintes espaos reservados nomeados no LayoutTemplate elemento: headerPlaceholder - tempo de execuo, este substitudo por o contedo do HeaderTemplate elemento. sideBarPlaceholder - tempo de execuo, este substitudo por o contedo do SideBarTemplate elemento. wizardStepPlaceHolder - tempo de execuo, este substitudo por o contedo do WizardStepTemplate elemento. navigationPlaceholder - Em tempo de execuo, este substitudo por outros modelos de navegao que voc definiu. A marcao no exemplo que usa espaos reservados processa o HTML a seguir (sem o contedo realmente definida nos modelos): <pn sa> < sa> / pn
O HTML s que agora no definida pelo usurio uma extenso do elemento. (Prevemos que em verses futuras, at mesmo o perodo de elemento no ser processado.) Isto agora d-lhe total controle sobre praticamente todo o contedo que gerado pelo Assistente de controle.
ASP.NET MVC
ASP.NET MVC foi introduzido como um quadro add-on para ASP.NET 3.5 SP1 em maro de 2009. Visual Studio 2010 inclui ASP.NET MVC 2, que inclui novos recursos e capacidades.
reas de Apoio
reas de deix-lo controladores do grupo e vistas em sees de uma grande aplicao em relativo
www.asp.net/whitepapers/aspnet4
32/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
isolamento de outras sees. Cada rea pode ser implementado como um projeto separado MVC ASP.NET que pode ser referenciado pela aplicao principal. Isso ajuda a gerenciar a complexidade, quando voc constri um aplicativo grande e torna mais fcil para vrias equipes para trabalhar juntos em um nico aplicativo.
Ajudantes Templated
Ajudantes Templated deix-lo associar automaticamente editar e exibir os modelos com tipos de dados. Por exemplo, voc pode usar um ajudante modelo para especificar que um selecionador de data-elemento da interface do usurio processada automaticamente para um System.DateTime valor. Isso semelhante a modelos de campo em ASP.NET Dynamic Data. Os Html.EditorFor e Html.DisplayFor mtodos auxiliares tm suporte incorporado para prestao de tipos de dados padro, bem como objetos complexos com mltiplas propriedades. Eles tambm personalizar a renderizao, permitindo que voc aplica dados de anotao atributos como DisplayName e ScaffoldColumn ao ViewModel objeto. Muitas vezes voc quiser personalizar a sada de ajudantes de interface do usurio ainda mais longe e tem controle total sobre o que gerado. O Html.EditorFor e Html.DisplayFor mtodos auxiliares apoiar esta usando um mecanismo de modelagem que permite definir modelos externos que podem substituir e controlar a sada processada. Os modelos podem ser processados individualmente para uma classe.
Dynamic Data
Dados dinmicos foi introduzido na NET Framework 3.5. Lanamento do SP1 em meados de 2008. Este recurso fornece muitas melhorias para a criao de aplicaes orientadas a dados, incluindo o seguinte: Uma experincia de RAD para criar rapidamente um site orientado por dados. Validao automtica que baseado em restries definidas no modelo de dados. A capacidade de alterar facilmente a marcao que gerada para os campos do GridView e DetailsView controles usando modelos de campo que fazem parte de seu projeto de dados dinmicos.
Observao Para obter mais informaes, consulte a documentao de dados dinmicos na MSDN Library.
Para ASP.NET 4, dados dinmicos foi aprimorado para oferecer aos desenvolvedores ainda mais poder para a rpida construo de sites orientados a dados da Web.
www.asp.net/whitepapers/aspnet4
33/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<s:rdiwI=GiVe1 rnt"evr AtGnrtClms"re apGiVe D"rdiw" ua=sre" uoeeaeoun=Tu" DtKyae=PoutD DtSucI=LnDtSuc1> aaeNms"rdcI" aaoreD"iqaaore" <apGiVe> /s:rdiw <s:iqaaoreI=LnDtSuc1 rnt"evr apLnDtSuc D"iqaaore" ua=sre" Cnetyeae"aalseDtCnet EalDlt=Tu"EalIsr=Tu" otxTpNm=DtCassaaotx" nbeeee"re nbenet"re EalUdt=Tu"Tbeae"rdcs> nbepae"re alNm=Pout" <apLnDtSuc> /s:iqaaore
No cdigo da pgina, o seguinte cdigo deve ser adicionado para habilitar o suporte de dados dinmicos para esses controles: GiVe1.EalDnmcaa(tpo (pouo); rdiw nbeyaiDt yef rdt )
Quando o GridView controle estiver no modo de edio, dados dinmicos valida automaticamente que os dados inseridos no formato adequado. Se no , uma mensagem de erro exibida. Essa funcionalidade tambm proporciona outros benefcios, tais como ser capaz de especificar valores padro para o modo de insero. Sem dados dinmicos, para implementar um valor padro para um campo, voc deve anexar a um evento, localize o controle (usando FindControl ), e definir seu valor. No ASP.NET 4, o EnableDynamicData chamada suporta um segundo parmetro que permite a passagem de valores padro para qualquer campo no objeto, como mostrado neste exemplo: Dtisiw .EalDnmcaa(tpo (pouo) nv { Poutae = "ealNm" }; ealVe1 nbeyaiDt yef rdt , oo rdcNm Dfutae )
Essa marcao permite um comportamento dinmico de dados para o controle GridView1 que referenciado no DataControls seo do DynamicDataManager controle.
Modelos de entidade
Modelos de entidade oferecem uma nova maneira de personalizar o layout dos dados sem a necessidade de criar uma pgina personalizada. Modelos de pgina usar o FormView controle (em vez do DetailsView controle, como usado em modelos de pgina em verses anteriores do Dynamic Data) eo DynamicEntity controle para processar modelos de entidade. Isso lhe d mais controle sobre a marcao que processado por dados dinmicos. A lista a seguir mostra o novo layout de diretrio do projeto que contm modelos de entidade: \yaiDt\niyepae DnmcaaEttTmlts \yaiDt\niyepae\eal.sx DnmcaaEttTmltsDfutac \yaiDt\niyepae\eal_dtac DnmcaaEttTmltsDfutEi.sx \yaiDt\niyepae\eal_netac DnmcaaEttTmltsDfutIsr.sx
O E t t T m l t diretrio contm os modelos para como exibir os objetos do modelo de dados. niyepae Por padro, os objetos so processados usando o D f u t a c modelo, que prev a marcao que eal.sx se parece com a marcao criada pelo DetailsView controle usado por dados dinmicos em ASP.NET 3.5 SP1. O exemplo a seguir mostra a marcao para o D f u t a c controle: eal.sx
<s:niyepaernt"evr I=TmltCnanr" apEttTmlt ua=sre" D"epaeotie1> <tmepae IeTmlt> <r t <d t>
www.asp.net/whitepapers/aspnet4
34/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<s:ae I=Lbl"rnt"evr OIi=LblIi"/ apLbl D"ae1 ua=sre" nnt"ae_nt > <t> /d <d t> <s:yaiCnrlrnt"evr OIi=Dnmcoto_nt / apDnmcoto ua=sre" nnt"yaiCnrlIi" > <t> /d <t> /r <IeTmlt> /tmepae
<apEttTmlt> /s:niyepae
Os modelos padro pode ser editado para alterar o look and feel para o site inteiro. H modelos para exibio, editar e inserir operaes. Novos modelos podem ser adicionados com base no nome do objeto de dados a fim de mudar a aparncia de apenas um tipo de objeto. Por exemplo, voc pode adicionar o seguinte modelo: \Dnmcaa\EttTmlts\Pout .ap yaiDt niyepae rdcs sx
<r t> <dNm<t> t>ae/d <d<s:yaiCnrlrnt"evr DtFed"rdcNm"/<t> t>apDnmcoto ua=sre" aail=Poutae >/d <dCtgr<t> t>aeoy/d <d<s:yaiCnrlrnt"evr DtFed"aeoy /<t> t>apDnmcoto ua=sre" aail=Ctgr" >/d <t> /r
Os modelos novos so entidades exibido em uma pgina usando o novo DynamicEntity controle. No tempo de execuo, este controlo substitudo com o contedo do modelo de entidade. A marcao a seguir mostra o FormView controle no D t i . s xmodelo de pgina que usa o modelo de ealap entidade. Observe o DynamicEntity elemento na marcao.
?Tmcread qedsj ecuret ie ") " e etz e u eea xli se tm ; Txo="eee / et Dlt" > < t> / d < t> / r < tbe / al> < IeTmlt> / tmepae < ap FrVe> / s: omiw
[aayeDtTp.miAdes] DtTp(aayeEaldrs) pbi ojc HmEal{gt st } ulc bet oemi e; e; [aayeDtTp.r) DtTp(aayeUl] pbi ojc Wbie{gt st } ulc bet est e; e;
www.asp.net/whitepapers/aspnet4
35/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
<s:DnmcyeLn I ="ityeLn" rnt="evr Ap yaiHprik D LsHprik ua sre" A ="it" Tbeae="rdts > o Lsa alNm Pouo" Msrrtdso pouo ota oo s rdts < ap DnmcyeLn> / s: yaiHprik
Esta marcao cria um link que aponta para a pgina Lista de P o u o tabela baseada em rotas que rdts so definidas no G o a . s xarquivo. O controle usa automaticamente o nome da tabela padro que lblaa a pgina dinmica de dados se baseia.
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
No editor de HTML, o IntelliSense auto-completar nomes de marcas. O recurso do IntelliSense trechos de auto-completar tags inteiras e muito mais. No Visual Studio 2010, IntelliSense trechos so suportados por JavaScript, juntamente com C # e Visual Basic, que foram apoiadas em verses anteriores do Visual Studio. Visual Studio 2010 inclui mais de 200 trechos que ajudam voc a auto-completar comuns etiquetas ASP.NET e HTML, incluindo atributos necessrios (como runat = "server") e atributos comuns especficos de um tag (como ID , DataSourceID , ControlToValidate e Texto ). Voc pode baixar trechos adicionais, ou voc pode escrever seus prprios trechos que encapsulam os blocos de marcao que voc ou sua equipe usam para tarefas comuns.
Embalagem Web
Visual Studio 2010 usa a ferramenta MSDeploy para criar um arquivo compactado (. Zip) para sua aplicao, que referido como um pacote da Web . O arquivo de pacote contm metadados sobre a sua aplicao, mais o seguinte contedo: IIS configuraes, que inclui as configuraes do pool de aplicativos, configuraes de pgina de erro, e assim por diante. O contedo da Web real, que inclui pginas da Web, controles de usurio, contedo esttico (imagens e arquivos HTML), e assim por diante. SQL Server esquemas de banco de dados e dados. Certificados de segurana, componentes a serem instalados no GAC, configuraes do registro, e assim por diante. Um pacote Web pode ser copiado para qualquer servidor e, em seguida, instalado manualmente usando o Gerenciador do IIS. Alternativamente, para implantao automatizada, o pacote pode ser instalado usando o comando de linha de comando ou usando APIs de implantao. Visual Studio 2010 oferece construdo em tarefas do MSBuild e metas para criar pacotes de web. Para mais informaes, consulte ASP.NET Web Application Viso geral de implantao do projeto no site da MSDN e 10 + 20 motivos porque voc deve criar um pacote Web no blog Vishal Joshi.
Transformao Web.config
Para a implantao de aplicativos Web, Visual Studio 2010 apresenta documento XML Transform (XDT) , que um recurso que permite transformar um W b c n i arquivo de configuraes de e.ofg
www.asp.net/whitepapers/aspnet4
37/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
desenvolvimento para ambientes de produo. Configuraes de transformao so especificadas em arquivos de transformao nomeados w b d b g c n i , w b r l a e c n i , e assim por diante. e.eu.ofg e.ees.ofg (Os nomes desses arquivos corresponder as configuraes do MSBuild.) Um arquivo de transformao inclui apenas as mudanas que voc precisa fazer para uma implantado W b c n i e.ofg arquivo. Voc especificar as alteraes usando a sintaxe simples. O exemplo a seguir mostra uma parte de um w b r l a e c n i arquivo que pode ser produzido e.ees.ofg para a implantao de sua configurao de lanamento. Substituir a palavra-chave no exemplo especifica que durante a implantao da connectionString n no W b c n i arquivo ser substituda e.ofg com os valores que esto listados no exemplo.
<oncintig xt Tasom="usiur > CnetoSrns d: rnfr Sbtti" <d nm ="lgB CnetoSrn ="eah sqcad cnxo" / ad ae BoD" oncintig dtle eni e oe] > < cnetoSrns / oncintig>
Para mais informaes, consulte Sintaxe de Transformao Web.config para Web do projeto de implantao de aplicativos no MSDN Web site e de implantao da Web: Transformao Web.Config no blog Vishal Joshi.
Recursos
Os seguintes sites fornecem informaes adicionais sobre ASP.NET 4 e Visual Studio 2010. ASP.NET 4 - A documentao oficial para ASP.NET 4 no site da MSDN. http://www.asp.net/ - O site da equipe ASP.NET da Web prprio. http://www.asp.net/dynamicdata/ e ASP.NET Dynamic Mapa contedo dos dados - Os recursos on-line no site da equipe ASP.NET e na documentao oficial para ASP.NET Dynamic Data. http://www.asp.net/ajax/ - O recurso da Web principal para desenvolvimento ASP.NET Ajax. http://blogs.msdn.com/webdevtools/ - O Visual Web Blog do Team Developer, que inclui informaes sobre recursos no Visual Studio 2010. http://www.codeplex.com/aspnet - O recurso da Web principal para verses prvias do ASP.NET.
Renncia
Este um documento preliminar e pode ser alterado substancialmente antes do lanamento comercial final do software aqui descrito. As informaes contidas neste documento representam a viso atual da Microsoft Corporation sobre os assuntos discutidos at a data da publicao. Como a Microsoft deve responder s condies de mercado, no deve ser interpretado como um compromisso por parte da Microsoft, ea Microsoft no pode garantir a preciso de qualquer informao apresentada aps a data de publicao.
www.asp.net/whitepapers/aspnet4
38/39
06/05/12
ASP.NET 4 e Visual Studio 2010 Viso geral sobre Desenvolvimento Web: Microsoft Site Oficial
Este White Paper apenas para fins informativos. MICROSOFT NO D GARANTIA, EXPRESSA OU IMPLCITA, EM RELAO S INFORMAES CONTIDAS NESTE DOCUMENTO. Obedecer s leis de direitos autorais aplicveis responsabilidade do usurio. Sem limitar os direitos autorais, nenhuma parte deste documento pode ser reproduzida, armazenada ou introduzida em um sistema de recuperao, ou transmitida por qualquer forma ou por qualquer meio (eletrnico, mecnico, fotocpia, gravao ou outro), ou para qualquer finalidade, sem a permisso expressa por escrito da Microsoft Corporation. A Microsoft pode ter patentes, aplicaes patentes, marcas comerciais, direitos autorais ou outros direitos de propriedade intelectual sobre o assunto neste documento. Exceto quando expressamente fornecido em qualquer contrato de licena escrito da Microsoft, o fornecimento deste documento no lhe confere qualquer licena a essas patentes, marcas comerciais, direitos autorais ou outra propriedade intelectual. Salvo disposio em contrrio, os exemplos de empresas, organizaes, produtos, nomes de domnio, endereos de email, logotipos, pessoas, lugares e eventos aqui mencionados so fictcios e nenhuma associao com qualquer empresa, organizao, produto, nome de domnio, endereo de e-mail, logotipo, pessoa, lugar ou evento intencional ou deve ser inferida. 2009 Microsoft Corporation. Todos os direitos reservados. Microsoft e Windows so marcas registradas ou marcas comerciais da Microsoft Corporation nos Estados Unidos e / ou outros pases. Os nomes de empresas e produtos reais aqui mencionados podem ser marcas comerciais de seus respectivos proprietrios.
Desenvolvido por
e Umbraco
Poltica de Privacidade | Termos de Servio | Retorno do Site | Anuncie Aqui Comentrios sobre ASP.NET | Problemas de arquivo
www.asp.net/whitepapers/aspnet4
39/39