Ir para conteúdo

POWERED BY:

Arquivado

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

Cesão

Include com variável

Recommended Posts

olá amigos,

 

gostaria de colocar um include com uma variável dentro dele p mudar a pagina incluída de acordo com o parametro do botão acionado... vejam como estou tentando fazer:

 

<html><head><title>SISNI - Sociedade Interativa Sol Nascente de Indaiatuba</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link href="css/main.css" rel="stylesheet" type="text/css" /></head><%If area = "" or IsNull (area) thenarea = ("principal")End If%><body><div id="corpo">	<div id="topo"></div>	<div id="navcontainer">	<ul>	<li><a href="default.asp?area=sisni">SISNI</a></li>	<li><a href="default.asp?area=trabalhos">TRABALHOS</a></li>	<li><a href="default.asp?area=atividades">ATIVIDADES</a></li>	<li><a href="default.asp?area=projetos">PROJETOS</a></li>	<li><a href="default.asp?area=necessidades">NECESSIDADES</a></li>	<li><a href="default.asp?area=voluntario">SEJA VOLUNTÁRIO</a></li>	<li><a href="default.asp?area=contato">CONTATO</a></li>	</ul>	</div>	<!--#include file="<%=area%>.asp"--></div></body></html>

Mas está dando erro.. ele nao aceita essa variável dentro do include...

alguém tem alguma dica de como fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, já vi algo do tipo funcionando, mas seria de boa ajuda se tu colasse o erro que está dando.

 

mas já tenta o seguinte no local em que tu está testando se a area está vazia:

<%area = request("area")If area = "" or IsNull (area) thenarea = "principal"End If%>

 

testa aí!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não tem como usar variavel dentro do include...o debugador não aceita

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael.. troquei o include por essa linha que você disse.. funcionou beleza...mas qdo clico em algum botao p mudar o parametro "area" ele nao muda.. ele mostra na barra de endereços assim "default.asp?area=sisni" mas nao muda o conteudo.. ele nao entra na pagina sisni.asp como deveria e continua a principal.asp...o que faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao pode fazer assim:<%select case request.queryString("area")case "sisni"%><!--#include filesisni.asp"--><%case "trabalhos"%><!--#include trabalhos.asp"--><%'E ASSIM SUCESSIVAMENTEend select%>falowww

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao pode fazer assim:<%select case request.queryString("area")case "sisni"%><!--#include filesisni.asp"--><%case "trabalhos"%><!--#include trabalhos.asp"--><%'E ASSIM SUCESSIVAMENTEend select%>falowww

mto bom cara.. funcionou perfeito!! Mto Obrigado!! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma funciona mas sobrecarrega o servidor, pois todos os includes serão feitos e apenas o código dos que atenderem o IF será efetivamente utilizado/executado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma funciona mas sobrecarrega o servidor, pois todos os includes serão feitos e apenas o código dos que atenderem o IF será efetivamente utilizado/executado.

ok salgado, obrigado pela dica, mas acho que ele nao carrega todos os includes nao, pois eles soh sao executados caso a "area" (variavel) seja compativel...se você tiver uma solução que carregue menos ou que seja mais simples, ficarei grato de receber :)

Compartilhar este post


Link para o post
Compartilhar em outros sites
ok salgado, obrigado pela dica, mas acho que ele nao carrega todos os includes nao, pois eles soh sao executados caso a "area" (variavel) seja compativel...

 

se você tiver uma solução que carregue menos ou que seja mais simples, ficarei grato de receber :)

Todos os includes são feitos pelo simples fato de ser a 1ª ação que o servidor faz ao varrer o arquivo. Os includes não são instruções do ASP e sim dhtml, o servidor tenta fazê-los antes de qualquer outra instrução.

 

A melhor solução é o Server.Execute, mas deve ser bem programado pois ele só executa a página sem repassar as variáveis locais ao script principal, apenas as sessões e o html resultante são repassados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok salgado, obrigado pela dica, mas acho que ele nao carrega todos os includes nao, pois eles soh sao executados caso a "area" (variavel) seja compativel...se você tiver uma solução que carregue menos ou que seja mais simples, ficarei grato de receber :)

Todos os includes são feitos pelo simples fato de ser a 1ª ação que o servidor faz ao varrer o arquivo. Os includes não são instruções do ASP e sim dhtml, o servidor tenta fazê-los antes de qualquer outra instrução.A melhor solução é o Server.Execute, mas deve ser bem programado pois ele só executa a página sem repassar as variáveis locais ao script principal, apenas as sessões e o html resultante são repassados.
tem como dar um exemplo de como eu poderia fazer usando o Server.Execute? pq tentei da outra vez e ele nao deu certo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

A página que você quer carregar é apenas para exibir? ou carrega outras variáveis?

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende.. provavelmente algumas delas vao carregar variaveis.. como paginas de edição e talz...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo básico:

If Request("campo") = "casa" Then
Pagina = "Casa.asp"
Else If Request("campo") = "quarto" Then
Pagina = "Casa2.asp"
Else If Request("campo") = "banheiro" Then
Pagina = "Casa3.asp"
End If
End If
End If
Server.Execute(Pagina)

Crie uma defaul.asp com esse código e um form básico para testar, crie também os 03 arquivos e só coloque um response.write neles. Pode testar tentando carregar variáveis e recuperar mais abaixo para ver como não "rola".

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa, vou testar isso entao!! ;)Valew Salgado

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.