Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ARodrigues

Carregando um página ASPX em uma DIV

Recommended Posts

Olá pessoal.

 

Estou trabalhando em um projeto e preciso urgente aprender como carregar uma página aspx em uma div.

 

Até consegui fazer usando o jQuery mas quando tento usar qualquer funcionalidade da página. Como por exemplo clicar no botão cadastrar.

 

A pagina dá um postback e fica ela no navegador sumindo a página que carregou a página que tem o formulário com o botão cadastrar.

 

Tentei usar um UpdatePanel na página com o formulário de cadastro mas dá erros quando carrega a página aspx e acontece a mesma coisa.

 

A situação é a seguinte:

 

Tenho uma Master Page usando um TabConteiner com várias abas (Tabs), quando uma opção do menu, ex: Cadastro -> Clientes, é escolhido ativa a Tab_Cad_Clinete, onde deveria na ativação carregar a página cad_cliente.aspx, onde seria feito o cadastro do cliente.

Porem o usuário pode deixar a aba aberta e escolher no Menu, ex: Consulta -> Fornecedor ou Cadastro -> Ocorrencias e essas tabs seriam ativadas carregando os respectivos arquivos aspx, permitindo que o usuário trabalhe entre as abas fechando-as quando julgar necessário.

 

Será que alguem pode me ajudar? Preciso conseguir carregar arquivos aspx com suas funcionalidades ou uma alternativa viável o mais breve possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tenta forçar o post pra sua página "de cima" digamos assim...

aí você passa junto um hidden com um parâmetro indicando a ação que você tá fazendo...

você pode forçar o post pra outra página usando a propriedade PostBackUrl num botão, por exemplo.

 

Isso resolve?

 

Um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tenta forçar o post pra sua página "de cima" digamos assim...

aí você passa junto um hidden com um parâmetro indicando a ação que você tá fazendo...

você pode forçar o post pra outra página usando a propriedade PostBackUrl num botão, por exemplo.

 

Isso resolve?

 

Um abraço

Olá lounatico,

 

A erro acontece no ato do carregamento.

 

Até já abandonei os teste que estava tentanto assim.

 

O mais proximo que consegui chegar foi usando um iFrame em cada aba.

 

Deixo as abas com visible=false e atravez de um botão ou ação do menu coloco visible=true, nesse momento ele carrega o conteudo do iframe. Na pagina que será aberta dentro do iFrame coloquei no body uma função no "onload" do body que redimenciona o iFrame. O problema agora é que a função não pega o tamanho do conteudo do iframe quando ele está dentro de um UpdatePanel ou dentro das tabs. Já fiz testes com o iFrame sozinho na pagina e funciona perfeitamente, mas quando coloco um iFrame em cada aba e a TabContainer dentro de um UpdatePanel o tamanho do conteudo do iFrame sempre retorna 0 (zero).

 

O código javascript que estou usando nas páginas que abre dentro do iFrame é esse:

function detectaBrowser() {
		if (navigator.appName.toLowerCase().indexOf('microsoft internet explorer') > -1)
			return('ie');
		else if (navigator.appName.toLowerCase().indexOf('netscape') > -1)
			return('firefox');
	}

	function ajustaIframe(iFrame) {
		browser = detectaBrowser();
		if (browser == 'firefox') {
			var tamanho = parent.document.getElementById(iFrame).contentDocument.body.scrollHeight;
			parent.document.getElementById(iFrame).style.height = (tamanho+10)+'px';
			parent.document.getElementById("divMenu").style.height = (tamanho+60)+'px';
		} else {
			if (browser == 'ie') {
				var tamanho = document.getElementById("container").offsetHeight;
				parent.document.getElementById(iFrame).style.height = tamanho+30;
				parent.document.getElementById("divMenu").style.height = tamanho+70;
			}
		}
	}

Fiz um break point, ou seja, fui debugando linha a linha e vi que se o iFrame esta fora do UpdatePanel o "tamanho" é preenchido pela propriedade "offsetHeight", mas quando está dentro do TabPanel, que está na TabContainer, que está dentro do UpdatePanel. A propriedade "offsetHeight" é 0 (zero).

 

Dae... Se eu clicar em qualquer componente que faça um postback na página que foi carregada dentro do iFrame o mesmo é redimencionado perfeitamente.

 

Meus amigos. Como eu faço para redimencionar o iFrame já na primeira vez que ele é carregado? Ou seja. Como eu pego o valor de "offsetHeight" na primeira vez que ele passa pela função, e não quando eu faço um postback na pagina que está no iFrame?

 

Obrigado a todos pela a ajuda. Grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.