Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

gatumano

Limpar querystring

Mensagens Recomendadas

gatumano

Olá a todos.

Queria pedir-vos ajuda neste sentido. Estou a fazer um projecto básico para administrar um site já feito por mim, em .NET.

Na parte de edição de página (colocar titulo, de está visivel ou não, etc) tenho uma opção para associar ficheiros à página. (Eles já existem, só tenho que tratar da questão do upload, que ainda não sei como fazer).

Tenho um recordset (que é enchido no code behind, através duma datatable) que vai inserindo div's com os ficheiros que já estão associados à página, e depois tenho uma dropdownlist que contém todos os ficheiros que podem ser associados a essa página.

Tenho um botão de adição de ficheiro que corre uma função de javascript que envia em querystring o ID da página e o ID do ficheiro para serem associados em code behind. (por exemplo:window.location.href = pagina.aspx?IDPagina=2&IDFicheiro=34)

O meu problema é que depois de inserir essa associação, a url continua com o ID de página e o ID de imagem, o que pode provocar vários erros, caso o utilizador faça refresh da página, etc..

O que eu queria era, ou limpar essa url, ou arranjar outra forma de inserir o registo e refrescar a página em questão para que o utilizador se aperceba do novo ficheiro que adicionou.

Já tentei com uma iframe, sendo que lhe passava em 'src' a url com a querystring, mas não conseguia fazer o refresh da página.

Também já tentei fazer response.redirect para a página em questão (sem os ID's) mas dá-me um erro, parece que ele se baralha.

Se estiver a ser muito confuso... peço desculpa. :(

Não sou grande espingarda nesta coisa de passagem de parâmetros.

Obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o mais simples será, o servidor responder ao cliente com um redireccionamento para o script sem os parâmetros

    CLIENT     |       SERVER
----------------+-------------------
 PAGE
  |
  +-- p.html?id=2 --> do whatever
                           |
         0<----3xx p.html--+
         |
         +------p.html-----0
                           |
  O<-----------------------+


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gatumano

Não sei se percebi, mas o que eu fiz foi uma "dummy" page que a única coisa que faz é um redireccionamento para a página (de edição), já limpa de querystring parameters.

Não fui bem sucedido pois quando tento redireccionar para a "dummy" dá-me o erro de "Unable to evaluate expression". :(

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gatumano

Parece-me que já resolvi o problema, e foi graças à tua ajuda. ;)

O que eu fiz foi alterar o response.redirect, utilizando um overload, onde lhe passo um parâmetro para não executar o response.end que é o culpado do erro que descrevi. Está aqui a descrição.

De certeza que não é a forma mais elegante de inserir um registo na base de dados e voltar a apresentar a página já actualizada, mas ... olha, funciona.

Obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.