Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago K.

Resgatar URL da página atual

Recommended Posts

Pessoal, não sou programador, tenho um conhecimento bem básico de ASP e agradeço quem puder ajudar.

 

Estou com um problema que pra mim já é bem antigo, mas que agora preciso resolver. Já pesquisei e não consigo encontrar uma solução.

 

Tenho um site com vários filtros desde tipo, idade, sexo, ordem de exibição, quantidade por página, etc.

 

Para armazenar os filtros, resgatei o valor da URL + querys, usando o seguinte código:

 

<%caminho = "http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("URL")&"?" & Request.Querystring & Request.Form%>

 

O problema é que quando eu resgato os parâmetros da query e se eu vou selecionar outro filtro ele acumula.

 

Exemplos:

 

Selecionei uma linha, ordem por nome, ascendente e quantidade 10.

 

http://servidor/site/produto-lista.asp?id=4&order=nome&dir=asc&qtd=10

 

Depois se escolho mudar a quantidade de exibição ele acumula.

 

http://servidor/site/produto-lista.asp?id=4&order=nome&dir=asc&qtd=10&qtd=20

 

Se continuo filtrando por idade, exemplo:

 

http://servidor/site/produto-lista.asp?id=4&order=nome&dir=asc&qtd=10&idade=1

 

E se eu mudo, acumula.

 

http://servidor/site/produto-lista.asp?id=4&order=nome&dir=asc&qtd=10&idade=1&idade=2

 

Como eu posso resolver isso?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso vem por querystring, e na hora de construir a url, imagino que não esteja atualizando a variavel ou a repetindo.

 

Seria interessante postar o trecho de codigo referente a isso para vermos se existe algum erro nele ou qual a solução possivel para esse caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Às vezes, você pode querer obter a URL da página atual que é mostrado na janela de URL do navegador.

 

<%
function curPageURL()
dim s, protocol, port

if Request.ServerVariables("HTTPS") = "on" then
  s = "s"
else
  s = ""
end if  

protocol = strleft(LCase(Request.ServerVariables("SERVER_PROTOCOL")), "/") & s 

if Request.ServerVariables("SERVER_PORT") = "80" then
  port = ""
else
  port = ":" & Request.ServerVariables("SERVER_PORT")
end if  

curPageURL = protocol & "://" & Request.ServerVariables("SERVER_NAME") &_
             port & Request.ServerVariables("SCRIPT_NAME")
end function

function strLeft(str1,str2)
strLeft = Left(str1,InStr(str1,str2)-1)
end function
%>

 

 

Agora você pode obter o URL da página atual usando a linha

 

<%
 response.write(curPageURL())
%>

 

 

Se a sua página tinha Querystring informações que você deseja, assim você pode experimentar um código como este:

 

<%
 response.write(curPageURL() & "?" & Request.ServerVariables("QUERY_STRING"))
%>

 

 

Se a sua página tinha informações de formulário que pode ter sido enviado para ele, então use o seguinte código:

 

<%
 response.write(curPageURL() & "?" & Request.Form)
%>

 

 

Às vezes é necessário para obter o nome da página só. O seguinte exemplo mostra como fazê-lo

 

<%
function curPageName()
dim pagename

pagename = Request.ServerVariables("SCRIPT_NAME") 

 if inStr(pagename, "/") > 0 then 
   pagename = Right(pagename, Len(pagename) - instrRev(pagename, "/")) 
 end if 

curPageName = pagename
end function

response.write("The current page name is " & curPageName())
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Às vezes, você pode querer obter a URL da página atual que é mostrado na janela de URL do navegador.

 

<%
function curPageURL()
dim s, protocol, port

if Request.ServerVariables("HTTPS") = "on" then
  s = "s"
else
  s = ""
end if  

protocol = strleft(LCase(Request.ServerVariables("SERVER_PROTOCOL")), "/") & s 

if Request.ServerVariables("SERVER_PORT") = "80" then
  port = ""
else
  port = ":" & Request.ServerVariables("SERVER_PORT")
end if  

curPageURL = protocol & "://" & Request.ServerVariables("SERVER_NAME") &_
             port & Request.ServerVariables("SCRIPT_NAME")
end function

function strLeft(str1,str2)
strLeft = Left(str1,InStr(str1,str2)-1)
end function
%>

 

 

Agora você pode obter o URL da página atual usando a linha

 

<%
 response.write(curPageURL())
%>

 

 

Se a sua página tinha Querystring informações que você deseja, assim você pode experimentar um código como este:

 

<%
 response.write(curPageURL() & "?" & Request.ServerVariables("QUERY_STRING"))
%>

 

 

Se a sua página tinha informações de formulário que pode ter sido enviado para ele, então use o seguinte código:

 

<%
 response.write(curPageURL() & "?" & Request.Form)
%>

 

 

Às vezes é necessário para obter o nome da página só. O seguinte exemplo mostra como fazê-lo

 

<%
function curPageName()
dim pagename

pagename = Request.ServerVariables("SCRIPT_NAME") 

 if inStr(pagename, "/") > 0 then 
   pagename = Right(pagename, Len(pagename) - instrRev(pagename, "/")) 
 end if 

curPageName = pagename
end function

response.write("The current page name is " & curPageName())
%>

 

Agradeço, mas o resultado foi o mesmo. Pois a URL eu já conseguia pegar, o problema está que a query fica armazenando.

 

Exemplo:

 

<a href="<% response.write(curPageURL() & "?" & Request.ServerVariables("QUERY_STRING"))%>&qtd=10">10</a>

 

Que me retorna...

 

http://servidor/site/produto-lista.asp?id=4&qtd=10

 

Agora se eu clico novamente na quantidade

 

<a href="<% response.write(curPageURL() & "?" & Request.ServerVariables("QUERY_STRING"))%>&qtd=20">20</a>

 

Ele acumula:

 

servidor/site/produto-lista.asp?id=4&qtd=10&qtd=20

 

Entenderam?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

 

todas QueryString

 

Sub WriteOutCode
  vbQuot = "''"
For each objItem in Request.Querystring
                  Response.Write "str" &objItem &" = Request.Querystring(" &vbQuot &objItem &vbQuot &")" _
                  &"<BR>"  &"Value  - " &Request.Querystring(objItem) &"<HR>"
                Next  
End Sub

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.