Usuário com melhor resposta
PostBack...

Pergunta
-
Galera
O problema é o seguinte:
tenho um sistema onde construi um sistema de correio interno e tal.. é bem simples tem um data grid q lista as mensagens recebidas e 1 botão para chamar a pagina onde escreve a mensagem.. mas depois q escrevo a mensagem eu uso JavaScript pra fechar a pagina corrente e atualizar a pagina pai para q a mensagem q acabei de enviar(no caso enviei pra mim mesmo) ja apareça no datagrid, ate ai tudo bem.. mas agroa eu estou usando um esquema de paginação no datagrid onde a paginação so funciona se a chamada estiver dentro de uma estrutura de : if(!Page.IsPostBack) .... Mas se ficar dentro desse if quando escrevo a mensagem e usando o JavaScript do um reload ele nao traz o registro q acabei de inserir..
Alguem pode me dar alguma ideia do q eu posso fazer nesse caso????
Respostas
-
".. mas depois q escrevo a mensagem eu uso JavaScript pra fechar a pagina corrente e atualizar a pagina pai para q a mensagem q acabei de enviar.."
Como é que você está atualizando a página pai? Talvez nem precise do hidden, e sim um parâmetro que sinalizará que o load está sendo feito desta página filha....
A idéia seria esta no seu codefile :
if HttpContext.Current.Request.Params("seuInput")="um valor definido por você" then
Atualizo o grid como quero e faço outras coisas...
End ifOu seja, é ter um flag que lhe indique o que gerou o load na página.
ps: Para criar hidden no lado servidor, usa-se o ClientScript.
Todas as Respostas
-
Daniel,
como está o seu java script para recarregar a página?
Ricardo Oneda
http://thespoke.net/blogs/oneda -
Olá Daniel,
Dá uma olhada no controle RadAjaxManager do telerik (www.telerik.com.br) creio que resolverá seu problema e lhe facilitará todo o processo.
Abraços.
-
-
Acessei o www.telerik.com e baixei o Ajax né..
Mas nao consegui usar.. me embaralho um pouco com esses componentes..
-
Daniel, numa determinada aplicação que fiz, tenho o mesmo problema.
No meu contexto, um input hidden resolveu tranquilamemente a questão, pois este hidden me informa se é um postback normal ou um que eu forcei e não queria que a página tivesse o comportamento quando for um normal, simplesmente por chamar a mesma página.Neste input, os meus javascripts (funções) o alteram antes do submit, e lá no code file eu verifico o seu conteúdo para saber se foi um postback efetuado por alguma função javascript.
É uma solução, a melhor para você? Não sei.
É apenas uma idéia.Falou!
-
-
-
-
".. mas depois q escrevo a mensagem eu uso JavaScript pra fechar a pagina corrente e atualizar a pagina pai para q a mensagem q acabei de enviar.."
Como é que você está atualizando a página pai? Talvez nem precise do hidden, e sim um parâmetro que sinalizará que o load está sendo feito desta página filha....
A idéia seria esta no seu codefile :
if HttpContext.Current.Request.Params("seuInput")="um valor definido por você" then
Atualizo o grid como quero e faço outras coisas...
End ifOu seja, é ter um flag que lhe indique o que gerou o load na página.
ps: Para criar hidden no lado servidor, usa-se o ClientScript.
-
-
Ok Daniel, no que é possível tentamos também colaborar... :D
Quanto a fazer em todas as páginas, creio que não exista outra alternativa, já que é um comportamento específico para sua aplicação, e em relação ao session, acho que você já deva saber do cuidado ao não utilizar este recurso para "qualquer coisa", talvez para o servidor em que sua app esteja rodando seja insignificante, mas só lembrando que além da opção dos inputs creio que o ViewState também o ajude numa outra solução...é só dar uma lida sobre o objeto.
Falou!
-
Olá Daniel,
Vc falou acima que não conhece muito bem o telerik, bom, segue o link de um site que tem exemplos funcionais do telerik, caso seja de interesse.
http://www.telerik.com/r.a.d.controls/Input/Examples/Functionality/OrderForm/DefaultCS.aspx
Boa sorte e abraços.