1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Eliminar Request.QueryString do URL?Possivel?

Discussão em 'Web Development' iniciada por mpLopes, 23 de Janeiro de 2007. (Respostas: 18; Visualizações: 1325)

  1. mpLopes

    mpLopes Power Member

    Boas..
    Estou a desenvolver um site em ASP .Net e utilizo as QueryStrings para saber o que fazer no site.. a questao é a seguinte: é possivel continuar a utilizá-las mas estas não estarem visiveis no URL?

    espero ter-me feito entender.
    Obrigado a todos..

    Off: é apenas um pormenor sem importancia no site, mas que me agradaria mais no site caso fosse possivel. Aproveito este momento, para dizer, uma vez que o site está praticamente concluído, obrigado a todos que muito me ajudaram neste forum..:007:
     
  2. SoundSurfer

    SoundSurfer Power Member

    Não sei bem o que queres fazer...

    Podes pôr as variáveis na Session, ou usar hidden inputs e passar os valores por "POST"...

    tens de te explicar melhor.
     
  3. OldMan

    OldMan Power Member

    eu tambem tinha pensado nessa hipotese que o SoundSurfer disse do "POST".
    mas pensa bem, se tu tiveres uma pagina tipo "noticias.aspx?noticia=2" supostamente mostra a 2º noticia (imaginemos) e se quiseres mostrar o url a alguem estando as querystrings escondidas (se e' que isso e' possivel) so ias ver "noticias.aspx" e penso que isso nao ia resultar em nada.

    mesmo com o metodo "post" terias que enviar algum dado de uma pagina anteriro por isso para quem entre directamente na pagina das noticias penso que tambem nao ia resultar.
     
  4. mpLopes

    mpLopes Power Member

    A ideia era fazer isso mesmo..em vez de aparecer noticias.aspx?noticas=2 aparecer apenas noticas.aspx mas eu poder continuar a saber que estou na noticia 2 ..
     
  5. OldMan

    OldMan Power Member

  6. mpLopes

    mpLopes Power Member

    Parece-me que não é possível fazer o que eu pretendo.
    Porque por exemplo, quando tenho um link tenho href para index.aspx?op=2 por exemplo..
    E depois verifico com o request.querystring qual o valor do op..

    Não me parece possivel fazer isto de outra forma..
    Alguem me diz o contrario?:)
     
  7. RicardoMoreira

    RicardoMoreira Power Member

    server.transfer("index.aspx?op=2")
     
  8. mpLopes

    mpLopes Power Member

    hummm..
    mas e como verifico o valor existente em op? atraves do request.form ? o request.form não é apenas para valores passados por forms?
     
  9. RicardoMoreira

    RicardoMoreira Power Member

    verificas da mesma forma, através do querystring
     
  10. mpLopes

    mpLopes Power Member

    sendo assim seria óptimo.
    acontece que não estou a conseguir efectuar o server.trasnfer.
    no href não deixa. e se colocar onclick=server..etc também não está funcionar..

    tenho que criar uma função para cada botão?não me parece razoável.

    como posso resolver isto?
    desde já agradeço..
     
  11. K0mA

    K0mA Power Member

    É tudo uma questão de passar com o método get ou post tu estás a utilizar get. vê esta página e olha para a barra de navegação.
     
  12. mpLopes

    mpLopes Power Member

    mas isso é uma questão de forms. como fazer isso com botões?que definem por exemplo a opção que pretendes realizar. por exemplo op=2. este valor do op não é alterado em nenhuma form, não tenho portanto forma de definir se quero method get ou post..

    tal como VioletFluid estava a indicar não seria necessário isso. mas estou com o problema que referi em cima..
     
  13. K0mA

    K0mA Power Member

    ah, então não dá para utilizar Request.form ... acho que só conseguias fazer isso com o apache e o mod rewrite.
     
  14. mpLopes

    mpLopes Power Member

    segundo o VioletFluid, utilizando o server.transfer("index.aspx?op=2") e com o request.querystring conseguia fazer. mas não estou a conseguir colocar o código do server.transfer nos botoes.
     
  15. RicardoMoreira

    RicardoMoreira Power Member

    faz uma experiencia:

    Cria dois ficheiros, um default.aspx e um default2.aspx, no default coloca um server.transfer("default2.aspx?op=2") e no pageload do default2.aspx coloca response.write(request.querystring("op"))

    Ao correres o default.aspx vais ver que ele vai escrever-te "2" no browser, pois é o valor correcto do querystring, mas se olhares para o endereço ele ainda estará apenas "default.aspx".

    O server.transfer e o server.execute são basicamente o clássico #include.
     
  16. mpLopes

    mpLopes Power Member

    sim..ja vi que isso funciona. a questão é que eu não tenho duas páginas. tenho uma mesma página.

    e tenho uns botões, nos quais clicando, altero por exemplo a variável op. essa variável é lida com o request.querystring. gostaria de implementar esse método que falaste no meu caso.

    ou seja, quando clico num botão efectuar o server.transfer("index.aspx?op=2") como disseste e ler esse valor com o request.querystring..
    a questao é que não estou a conseguir colocar esse código no botão, num link.
     
  17. mpLopes

    mpLopes Power Member

    VioletFluid não sabes como fazer?
     
  18. RicardoMoreira

    RicardoMoreira Power Member

    Não podes dar uma ideia mais concreta do que precisas? Por exemplo, botão ou hyperlink? Muitos?
     
  19. mpLopes

    mpLopes Power Member

    hiperlink.. <a href="index.aspx?op=2"></a>
    como meto isso como server.transfer("index.aspx?op=2")?
     

Partilhar esta Página