Ir para conteúdo

POWERED BY:

Arquivado

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

alemex

Ajax extensions + Javascript

Recommended Posts

salve salve moçada...

 

tô com o seguinte problem:

 

tenho uma aplicação que simula um desktop online, e por essa questão de simular um desktop online eu preciso usar AJAX, então optei por fazer ela utilizando o AJAX Extensions, só que estou me deparando com o seguinte problema:

 

Quando executo um postback na página, seja por um botão ou por qualquer outro controle, todos os UpdatePanels são atualizados, até ai não há problema nenhum atualizar todos eles, o problema é que quando eles são atualizados, na hora em que o AJAX pega o HTML da página para enviar ao servidor e o servidor retorna o HTML para o client, esse HTML está como se eu tivesse acabado de iniciar a utilizar minha aplicação, ou seja, todo javascript para ajeitar o HTML que eu executei após o PageLoad do aspx é perdido.

Então vim aqui para ver se alguém me ajuda com uma solução, por acaso tem como eu dar o Update de um UpdatePanel pegando o atual HTML (no qual já foi executado javascript)?

 

para quem não entendeu muita coisa vou dar um exemplo aqui:

 

tenho uma Label do asp (runat=server) e uma tag SPAN que não é runat=server dentro de um UpdatePanel, então quando carrega minha página digamos que na label eu faça o seguinte, Label.Text = "Qualquer texto", e depois de setar o texto da label eu chamo um método javascript pelo ScriptManager para setar o texto da minha tag SPAN (innerHTML), então digamos que a página já foi carregada pelo servidor, então ela será desenhada na tela, portanto apenas a label do servidor terá algum texto escrito na tela, enquanto a tab span só será preenchida quando o método javascript for chamado no client, o método javascript só será carregado quando a página aspx do servidor já estiver sido desenhada no browser, e então quando eu efetuar algum postback na página esse update panel vai considerar só o html que existia até o momento em q o servidor desenhou a página no browser, ou seja, antes de executar meu javascript....

 

[off] JESUS LORD!! deu serviço pra escreve isso ein... UIEHeiuheui.... [/off]

 

espero que alguem me ajude!!! PLEASE!!!!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma.Net http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma.Net //Web Applications

 

Tentando entender... [/]

Esses objetos que retornam aos valores iniciais, esses valores são setados no Page_Load de sua página?

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo... todos os valores setados nos objetos são carregados durante o pageload, ou mais tarde por um callback de algum controle postback... saka?

a questão é q todo o javascript que eu executo para alterar o HTML após o load da minha página é perdido nos próximos postback's...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que qualquer evento que seja executado na página antes ele percorre o Page_Load. Para corrigir isso utilize a clausula do PostBack.

No seu Page_Load coloque:

 

If Not IspostBack Then
  'Alimenta seus objetos
End If

Acredito que irá funconar.

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que qualquer evento que seja executado na página antes ele percorre o Page_Load. Para corrigir isso utilize a clausula do PostBack.

No seu Page_Load coloque:

 

If Not IspostBack Then
  'Alimenta seus objetos
End If

Acredito que irá funconar.

Abraços...

sorry amigo... mas meu problema não tem haver com isso....

a questao de verificar se é um postback ou nao não influencia no meu problema.... acho q você nao entendeu muito bem meu problema...

a questao é que qualquer javascript que eu chame dentro do meu page_load so é executado após terminar o page_load, portanto o html que o browser irá desenhar e salvar para enviar ao servidor mais tarde será o html sem a execução dos javascripts chamados no page_load....

 

e aproveitando já vou postar a solução que eu arrumei... é meio POG (programação orientada a gambiarra), mas serviu...

achei na propria documentação do ajax.asp.net:

quando sua página carregar adicione um handler que será executado sempre após um postback, no meu caso coloquei no onload do body...

 

exemplo:

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedEventHandler);

no caso o PageLoadedEventHandler será o método q será executado no client após os postbacks da página....

 

 

vlw aew galera pela ajuda!!! aquele abraço....

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.