O uso de frames no desenvolvimento web já foi mais comum, hoje é algo apenas eventual, mas não totalmente descartado.
Uma das utilidades para o frame é esconder a URL da página que está sendo chamada. Pode-se fazer um frame com tamanho 0 para esconder a URL.
Mas o uso de frames gera um problema:
O que acontece se uma página que deveria aparecer dentro de um frame for chamada diretamente?
Para corrigir este problema podemos utilizar javascript na página em questão, no evento onload, veja como fica:
<body leftmargin="0" topmargin="0" onload="if(parent.frames.length==0)
{top.location=http://<sua URL>}">
Este código em javascript testa para verificar se existem frames ativos. Se não existem então a página foi chamada diretamente, é necessário então um desvio para a página com frames.
Porém ao desviar para a página com frames esta abrirá a raiz do site e não a página que realmente desejamos que seja aberta.
O site com certeza tem inúmeras páginas, qualquer uma que seja aberta fora do frame nos desejaremos que esse desvio seja realizado. Então neste caso a página principal do frame deve ser parametrizável.
No código javascript teríamos algo como :
<body leftmargin="0" topmargin="0" onload="if(parent.frames.length==0)
{top.location=inicioframes.aspx?pag=estapagina}">
Já na página com os frames, precisaremos receber este parâmetro e fazer o desvio adequadamente. Veja como fica :
<frame name="main" src="<%=request.querystring("pag") & ".aspx"%>">
ASP.NET - Desviando o acesso de uma página para um frame
Veja nesta dica, como desviar o acesso de uma página ASP.NET para um frame.
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Por
Tipster
Em 2006
<Perguntas frequentes>
Carreira
Metodologia
Assinatura e Pagamentos
Cadastro