You are on page 1of 6

07/12/2014

online.unip.br/imprimir/imprimirconteudo

VisoGeraldePginasMestrasASP.NET
PginasmestrasASP.NETpermitemavoccriarumlayoutconsistenteparaaspginasemseu
aplicativo.Umanicapginamestradefineaaparnciaecomportamentopadroquevocdesejapara
todasaspginas(ouumgrupodepginas)emseuaplicativo.Vocpodecriarpginasdecontedo
individuaisquecontmocontedoquevocdesejaexibir.Quandousuriossolicitaremaspginasde
contedo,elasmesclamcomapginamestraparaproduzirsadaquecombinaolayoutdapginamestre
comocontedodapginadecontedo.
ComoPginasMestrasFuncionam
Pginasmestrasnaverdadeconsistemdeduaspartes,apginamestraprpriaeumaoumaispginasde
contedo.
PginasMestras
UmapginamestraumarquivoASP.NETcomaextenso.master(porexemplo,MySite.master)com
umlayoutpredefinidoquepodeincluirtextoesttico,elementosHTML,eoscontrolesdeservidor.A
pginamestraidentificadaporumadiretivaespecial@Mestrequesubstituiadiretiva@Pageque
usadaparapginas.aspxcomuns.Adiretivaaparentacomoaseguir.
C#
<%@MasterLanguage="C#"%>

The@Masterdirectivecancontainmostofthesamedirectivesthata@Controledirectivecan
contain.Porexemplo,aseguintediretivadepginamestraincluionomedeumarquivocodebehind,e
atribuiumnomedeclasseparaapginamestra.
C#
<%@MasterLanguage="C#"CodeFile="MasterPage.master.cs"Inherits="MasterPage"%>

Inadditiontothe@Masterdirective,themasterpagealsocontainsallofthetoplevelHTMLelements
forapage,suchashtml,head,andform.Porexemplo,emumapginamestravocpodeusaruma
tabelaHTMLparaolayout,umelementoimgparaologotipodaempresa,textoestticoparaoavisode
direitosautoraisecontrolesdoservidorparacriarnavegaopadroparaseusite.Vocpodeusar
quaisquerelemtentosHTMLequaisquerelementosASP.NETcomopartedasuapginamestra.
EspaosReservadosdeContedoSubstituvel
Almdotextoestticoecontrolesqueseroexibidosemtodasaspginas,apginamestratambm
incluiumoumaiscontrolesContentPlaceHolder.Essescontrolesdeespaoreservadodefinemreasonde
contedosubstituvelaparecer.Porsuavez,ocontedosubstituveldefinidoempginasde
contedo.ApsvocterdefinidooscontrolesContentPlaceHolder,umapginamestrapodeser
semelhantesaesta.
C#
<%@MasterLanguage="C#"%>
<!DOCTYPEhtmlPUBLIC"//W3C//DTDXHTML
1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<headrunat="server">
<title>Masterpagetitle</title>
</head>
<body>
<formid="form1"runat="server">
<table>
http://online.unip.br/imprimir/imprimirconteudo

1/6

07/12/2014

online.unip.br/imprimir/imprimirconteudo

<tr>
<td><asp:contentplaceholderid="Main"runat="server"/></td>
<td><asp:contentplaceholderid="Footer"runat="server"/></td>
</tr>
</table>
</form>
</body>
</html>

PginasdeContedo
Vocdefinirocontedoparaocontroledeespaoreservadodapginamestracriandopginasde
contedoindividuais,quesopginasASP.NET(arquivos.aspxe,opcionalmente,arquivoscodebehind)
quesovinculadosaumapginamestraespecfica.Thebindingisestablishedinthecontentpage's
@PagedirectivebyincludingaMasterPageFileattributethatpointstothemasterpagetobeused.For
example,acontentpagemighthavethefollowing@Pagedirective,whichbindsittothe

Master1.masterpage.
C#
<%@PageLanguage="C#"MasterPageFile="~/MasterPages/Master1.master"Title="ContentPage"%>

Napginadecontedo,paracriarocontedo,adicionarContentcontrolesemapeandoospara
ContentPlaceHoldercontrolesdepginamestra.Porexemplo,apginamestrapodeterespaos
reservadosdecontedochamadosMaineFooter.Napginadecontedo,vocpodecriardois
controlesContent,umquemapeadoparaocontroleContentPlaceHolderMaineooutromapeadopara
ocontroleContentPlaceHolderFooter,conformemostradonafiguraaseguir.
Substituindocontedodeespaoreservado

DepoisdecriarcontrolesContent,vocadicionatextoecontrolesparaeles.Emumpginadecontedo,
tudoquenoestdentrodoscontrolesContentcontroles(excetoblocosdescriptparacdigodoservidor)
resultamemumerro.Vocpodeexecutarastarefasemumpginadecontedoquevocfazemum
pginaASP.NET.Porexemplo,vocpodegerarcontedoparaumcontroleContentusandocontrolesde
servidoreconsultasdebancodedadosououtrosmecanismosdinmicos.
Umapginadecontedopodeparecercomoaseguir.
VB

<%@PageLanguage="VB"MasterPageFile="~/Master.master"Title="ContentPage1"%>
<asp:ContentID="Content1"ContentPlaceHolderID="Main"Runat="Server">
http://online.unip.br/imprimir/imprimirconteudo

2/6

07/12/2014

online.unip.br/imprimir/imprimirconteudo

Maincontent.
</asp:Content>

<asp:ContentID="Content2"ContentPlaceHolderID="Footer"Runat="Server">
Footercontent.
</asp:content>

[C#]
<%@PageLanguage="C#"MasterPageFile="~/Master.master"Title="ContentPage1"%>
<asp:ContentID="Content1"ContentPlaceHolderID="Main"Runat="Server">
Maincontent.
</asp:Content>

<asp:ContentID="Content2"ContentPlaceHolderID="Footer"Runat="Server">
Footercontent.
</asp:content>
The@Pagedirectivebindsthecontentpagetoaspecificmasterpage,anditdefinesatitleforthepage
thatwillbemergedintothemasterpage.Observequeapginadecontedocontmnenhumaoutra
marcaoforadoscontrolesContent.(Apginamestradeveconterumelementoheadcomoatributo

runat="server"paraqueaconfiguraodettulopossasermescladaemtempodeexecuo.)
Vocpodecriarvriaspginasmestrasparadefinirdiferenteslayoutsparapartesdiferentesdoseusite,e
umconjuntodiferentedepginasdecontedoparacadapginamestra.
VantagensdasPginasMestras
Pginasmestrasfornecemfuncionalidadequedesenvolvedorestenhamcriadotradicionalmente,copiando
cdigoexistente,texto,eelementosdecontrolerepetidamenteusandoconjuntosdequadrosusando
arquivosdeinclusoparaelementoscomunsusandocontrolesdeusurioASP.NETeassimpor
diante.Vantagensdaspginasmestrasincluemosseguintes:
Elaspermitemavoccentralizarafuncionalidadecomumdesuaspginasparaquevocpossa
fazeratualizaesemapenasumlocal.
Elestornammaisfcilcriarumconjuntodecontrolesecdigoeaplicarosresultadosaum
conjuntodepginas.Porexemplo,vocpodeusarcontrolesnapginamestraparacriarummenu
queseaplicaatodasaspginas.
Elasoferecemcontrolemaisaguadosobreolayoutdapginafinalaopermitirquevoccontrole
comooscontrolesdeespaoreservadosoprocessados.
Elasfornecemummodelodeobjetoquepermiteavocpersonalizarapginamestraapartirde
pginasdecontedoindividuais.
ComportamentoemTempodeExecuodePginasMestras
Emtempodeexecuo,pginasmestrassomanipuladasnaseqnciaaseguir:
1. Osusuriossolicitaumapgina,digitandoaURLdapginadecontedo.
2. Whenthepageisfetched,the@Pagedirectiveisread.Seadiretivareferenciaumapgina
mestra,apginamestratambmlida.Seestaforaprimeiravezqueaspginastiveremsido
solicitadas,ambasaspginassocompiladas.
3. Apginamestracomocontedoatualizadomescladanarvoredecontroledapginade
contedo.
4. OcontedodoscontrolesContentindividuaissermescladonocontroleContentPlaceHolder
correspondentenapginamestra.
5. Apginamescladaresultanteprocessadanonavegador.
Oprocessoilustradanodiagramaaseguir.
Pginasmestrasemtempodeexecuo
http://online.unip.br/imprimir/imprimirconteudo

3/6

07/12/2014

online.unip.br/imprimir/imprimirconteudo

Daperspectivadousurio,aspginasmestraedecontedocombinadassoumapginasimplese
discreta.AURLdapginaadapginadecontedo.
Deumaperspectivadeprogramao,asduaspginasatuamcomorecipientesseparadosparaseus
respectivoscontroles.Apginadecontedoatuacomoumrecipienteparaapginamestra.Entretanto,
vocpodereferenciarmembrospblicosdapginamestraapartirdocdigonapginadecontedo,
conformedescritonaprximaseo.
Observequeapginamestrasetornaumapartedapginadecontedo.Naverdade,apginamestra
funcionadamesmamaneiraqueumcontroledeusurioatuacomoumfilhodapginadecontedoe
comoumrecipientedentrodaquelapgina.Nessecaso,entretanto,apginamestraorecipientepara
todososcontrolesdeservidorquesoprocessadosparaonavegador.Arvoredecontroleparauma
pginamestramescladacomumapginadecontedopodeterestaaparncia:
Page
MasterPage
(Masterpagemarkupandcontrols)
ContentPlaceHolder
Contentpagemarkupandservercontrols
(Masterpagemarkupandcontrols)
ContentPlaceHolder
Contentpagemarkupandservercontrols
(Masterpagemarkupandcontrols)
EstediagramasimplificadoseapginadecontedonotivercontrolesContentcorrespondentes,a
pginamestrapodetambmtermarcaoecontrolesnoscontrolesContentPlaceHolder.
Emgeral,essaestruturanotemnenhumefeitosobrecomovocconstrisuaspginasouas
programa.Entretanto,emalgunscasos,sevocdefinirumapropriedadedapginatodanapgina
mestra,elapodeafetarocomportamentodapginadecontedo,poisapginamestraopaimais
prximoparaoscontrolesnapgina.Porexemplo,sevocdefinirapropriedadeEnableViewStatena
pginadecontedoparatruemasdefiniramesmapropriedadecomofalsenapginamestra,oestado
deexibioserefetivamentedesabilitadoporqueaconfiguraonapginamestratemprioridade.
CaminhosdaPginaMestraedaPginadeContedo
Quandoumapginadecontedosolicitada,seucontedosermescladocomapginamestra,ea
pginaexecutanocontextodapginadecontedo.Porexemplo,sevocreceberapropriedade
CurrentExecutionFilePathdoobjetoHttpRequest,seemcdigodepginadecontedooucdigode
pginamestra,ocaminhorepresentaolocaldapginadecontedo.
Apginamestraepginacontedonotmdeestarnamesmapasta.AslongastheMasterPageFile
attributeinthecontentpage's@Pagedirectiveresolvestoa.masterpage,ASP.NETcanmergethe
contentandmasterpagesintoasinglerenderedpage.

http://online.unip.br/imprimir/imprimirconteudo

4/6

07/12/2014

online.unip.br/imprimir/imprimirconteudo

Referenciandorecursosexternos
Tantoapginadecontedoeapginamestrapodemcontercontroleseelementosquereferenciam
recursosexternos.Porexemplo,ambaspodemcontercontrolesdeimagemquereferenciamarquivosde
imagem,oupodemconterncorasquereferenciamoutraspginas.
Ocontextoparaaspginasdecontedoemestramescladasodapginadecontedo.Issopodeafetar
comovocespecificaURLspararecursos,taiscomoarquivosdeimagemepginasdedestino,em
ncoras.
Controlesdeservidor
Noscontrolesdeservidorempginasmestras,ASP.NETmodificadinamicamenteasURLsdas
propriedadesquereferenciamrecursosexternos.Porexemplo,vocpodecolocarumcontroleImageem
umpginamestraedefinirsuapropriedadeImageUrlparaestarrelacionadaapginamestra.Emtempo
deexecuo,ASP.NETmodificaraURLparaqueelasejaresolvidacorretamentenocontextodapgina
decontedo.
ASP.NETpodemodificarURLsnoscasosaseguir:
AURLumapropriedadedeumcontroledeservidorASP.NET.
ApropriedadeestmarcadainternamentenocontrolecomosendoumaURL.(Apropriedade
marcadacomoatributoUrlPropertyAttribute.)Emtermosprticos,propriedadesdecontrolesde
servidorASP.NETquesonormalmenteusadasparareferenciarrecursosexternossomarcadas
dessaforma.
OutrosElementos
ASP.NETnopodemodificarURLsemelementosquenosejamcontrolesdeservidor.Porexemplo,se
vocusarumelementoimgemumMestrepginaedefinaseuatributosrcparaumURL,ASP.NETno
modificaraURL.Nessecaso,aURLserresolvidanocontextodapginadecontedoecriaraURLde
acordo.
Emgeral,aotrabalharcomelementosempginasmestras,recomendvelquevocuseumcontrolede
servidor,mesmoparaelementosquenorequeremcdigodoservidor.Porexemplo,emvezdeusarum
elementoimg,usarumcontroledeservidorImage.Dessaforma,oASP.NETpoderesolverURLs
corretamenteevocpodeevitarproblemasdemanutenoquepodemsurgirsevocmoverocontedo
dapginamestreoudapginadecontedo.
ParaobtermaisinformaessobrecomoespecificarcaminhosparacontrolesdeservidorASP.NET,
consulteCaminhosdeSiteWebdoASP.NET.
PginasMestraseTemas
VocnopodeaplicardiretamenteumtemaASP.NETparaumapginamestra.Ifyouaddatheme
attributetothe@Masterdirective,thepagewillraiseanerrorwhenitruns.
Entretanto,ostemassoaplicadosapginasmestrassobestascircunstncias:
Seumtemafordefinidonapginadecontedo.Pginasmestrassoresolvidasnocontextode
pginasdecontedo,logootemadapginadecontedoaplicadopginamestradamesma
maneira.
Seositecomoumtodoconfiguradoparausarumtema,incluindoumadefiniodetemano
elementoPginaselemento(esquemaconfiguraesASP.NET).
Paramaisinformaes,acederaolinkVisoGeraldeTemaseAparnciasASP.NET.
EscopodePginasMestras
Vocpodeanexarpginasdecontedoaumapginamestraemtrsnveis:
NonveldapginaVocpodeusarumadiretivadapginaemcadapginadecontedopara
acopllaaumapginamestra,comonoexemplodecdigoaseguir.
http://online.unip.br/imprimir/imprimirconteudo

5/6

07/12/2014

online.unip.br/imprimir/imprimirconteudo

VB

<%@PageLanguage="VB"MasterPageFile="MySite.Master"%>
C#
<%@PageLanguage="C#"MasterPageFile="MySite.Master"%>
NonveldoaplicativoFazendoumaconfiguraonoelementopagesdoarquivodeconfigurao
doaplicativo(Web.config),vocpodeespecificarquetodasaspginasASP.NET(arquivos.aspx)do
aplicativosevinculemautomaticamenteaumapginamestra.Oelementopodeparecercomoa
seguir.

<pagesmasterPageFile="MySite.Master"/>
Sevocusaressaestratgia,todasaspginasASP.NETdoaplicativoquetenhamcontroles
Contentsomescladascomapginamestraespecificada.(SeumapginaASP.NETnocontm
controlesContent,apginamestranoaplicada.)
NonveldapastaEssaestratgiacomovinculaononveldoaplicativo,excetovocefetua
aconfiguraoemumarquivoWeb.configemapenasumapasta.Asligaesdapginamestra
entoseaplicamspginasASP.NETparaaquelapasta.

Exerccio1:
Pginasmestrasfornecemfuncionalidadequedesenvolvedorestenhamcriadotradicionalmente,copiando
cdigoexistente,texto,eelementosdecontrolerepetidamenteusandoconjuntosdequadrosusando
arquivosdeinclusoparaelementoscomunsusandocontrolesdeusurioASP.NETeassimpor
diante.Vantagensdaspginasmestrasincluemosseguintes:
AElaspermitemavoccentralizarafuncionalidadecomumdesuaspginasparaquevocpossafazer
atualizaesemapenasumlocal.
BElestornammaisfcilcriarumconjuntodecontrolesecdigoeaplicarosresultadosaumconjunto
depginas.Porexemplo,vocpodeusarcontrolesnapginamestraparacriarummenuqueseaplicaa
todasaspginas.
CElasoferecemcontrolemaisaguadosobreolayoutdapginafinalaopermitirquevoccontrole
comooscontrolesdeespaoreservadosoprocessados.
DElasfornecemummodelodeobjetoquepermiteavocpersonalizarapginamestraapartirde
pginasdecontedoindividuais.
ETodasasAlternativas

Oalunorespondeueacertou.Alternativa(E)
Comentrios:
Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

http://online.unip.br/imprimir/imprimirconteudo

6/6

You might also like