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..
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.
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.
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 ..
"saber" consegues sempre. basta imprimires o numero da noticia na pagina. mas a unica maneira que estou a ver para enviar valores para uma pagina acedendo apenas a essa pagina e' por querystrings. encontrei isto no google que talvez ja tenhas visto mas aqui fica: http://classicasp.aspfaq.com/general/how-do-i-cloak/hide-url-and-querystring-information.html
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?
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?
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..
É 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.
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..
ah, então não dá para utilizar Request.form ... acho que só conseguias fazer isso com o apache e o mod rewrite.
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.
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.
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.