PradoSoft

Pt:Master e Content

From PRADO Wiki

Voltar à página principal

Master e Content

As páginas em uma aplicação Web compartilham, frequentemente, de partes comuns. Por exemplo, todas as páginas desta aplicação tutorial compartilham dos mesmos "cabeçalhos" e rodapés. Se nós os pusermos repetidamente em cada código-fonte de cada página, será uma dor de cabeça dar manutenção se no futuro quisermos alterar algo nessas partes. Para resolver este problema, o PRADO introduz o conceito do Master e de Content. É essencialmente um padrão de decorador, com o Content que está sendo decorado pela Master.

A Master e o Content aplicam-se somente aos controles do template (controles que se estendem pelo TTemplateControl ou suas classes-filhas). Um controle de template pode ter, pelo menos, um controle mestre e um ou mais "Contents" (cada um representado por um controle de TContent). Os "Contents" serão introduzidos no controle Master nos lugares reservados por controles de TContentPlaceHolder. E a apresentação do controle do template é aquela do controle Master com o TContentPlaceHolder substituído por TContent.

Por exemplo, assuma o controle de template tem o seguinte template:

 
<%@ MasterClass="MasterControl" %>
<com:TContent ID="A" >
content A
</com:TContent >
<com:TContent ID="B" >
content B
</com:TContent >
<com:TContent ID="B" >
content B
</com:TContent >

que usa MasterControl como seu controle Master. O controle Master tem o seguinte template,

 
other stuff
<com:TContentPlaceHolder ID="A" />
other stuff
<com:TContentPlaceHolder ID="B" />
other stuff
<com:TContentPlaceHolder ID="C" />
other stuff

Então, os "Contents" são introduzidos no controle Master de acordo com o seguinte diagrama, enquanto o relacionamento resultante pai-filho pode ser visto no diagrama seguinte. Note que, o controle do template rejeita tudo no template à excepção dos "Contents", enquanto o controle Master mantiver tudo e substituir as expressões do Content com os "Contents" de acordo com seu correspondente ID.

Image:Mastercontent.gif


Image:Pcrelation.gif

Personal tools
Your user name:

Your password:

MediaWiki