A classe placeHolder permite que você adicione um conteiner vazio na página e em seguida, dinamicamente, adicione elementos filhos a ela em tempo de execução.
O Controle de servidor Web, PlaceHolder, permite que você coloque um caixa de controles em branco dentro da página e, em seguida, dinamicamente é possivel adicionar, remover ou adicionar elementos filho em tempo de execução. O controle processa apenas seus elementos filho; ele não processa nenhuma marcação por si próprio.
Sendo assim é possivel utiliza-lo para criar , por exemplo, vários botões com funcionalidades personalizaveis, para criar um ambiente porsonalizado ao usuário, ou também utiliza-lo para carregar página ascx dentro de sí.
Uma maneira prática de se criar Modelos de página
Uma maneira facil de se criar modelos é fazer o layout da página em uma página aspx, com excessão da área que receberá o conteudo do site. Por exemplo:
Posso criar uma página com o layout do meu menu, testeira e rodapé e deixar uma área separada para colocar o componente placeHolder para incorporar a página ascx que terá o conteúdo do site.
Código de exemplo
Adicione na página aspx o código:
<asp:placeholder id=”ph1″ runat=”server”></asp:placeholder>
No evento onload da página utilize:
If Request.QueryString(“pagina”) <> “” Then
Dim strLoad As String
strLoad = Request.QueryString(“pagina”) & “.ascx”
Dim myControl As Control = CType(Page.LoadControl(strLoad), Control)
ph1.Controls.Add(myControl)
Else
Dim strLoad As String
strLoad = “clientes.ascx”
Dim myControl As Control = CType(Page.LoadControl(strLoad), Control)
ph1.Controls.Add(myControl)
End If