botão não executa comando dentro do updatepanel

30/05/2008

0

sou iniciante em asp.net(c#).

criei uma página no visual studio 2005 com script manager/updatepanel. Todos os comandos e funções funcionam com ajax mas, em um botão, curiosamente está acontecendo o seguinte:

qualquer comando funciona desde que não seja javascript.Se eu colocar esse botão fora do updatepanel o javascript funciona normalmente.

segue o comando que estou utilizando:

StringBuilder aScript = new StringBuilder();
aScript.Append(´<script language=´JavaScript´>´);
aScript.Append(´window.open(´´ + ´frmpesquisa_js.aspx´ + ´´, ´´,´);
aScript.Append(´´resizable=no, menubar=no, scrollbars=yes, ´);
aScript.Append(´status=yes, left=350, top=150, width=´ + ´550´ +
´, height=´ + ´500´ + ´´)´);
aScript.Append(´</script>´);
if (!Page.ClientScript.IsClientScriptBlockRegistered(´client´))
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),´cliente´, aScript.ToString());
}


esse código só funciona se o botão estiver fora do UpdatePanel.

tenho que fazer alguma configuração extra???


Saulopms

Saulopms

Responder

Posts

01/06/2008

Hal9000

Se não me engano, o único jeito é colocar um:

Scriptmanager1 .RegisterPostBackControl (´nome do controle´)

No page load fora de qualquer teste de ispostback pois ele deve executar sempre. Bom pelo menos eu sou obrigado a usar isso aqui para algumas rotinas que não fucionam diretamente. o único incoveniente é que quando vc precionar o botão ele vai fazer um postback.

Espero que ajude...


Responder

03/06/2008

Saulopms

Funcionou!

Muito obrigado.

Realmente ele tá dando um PostBack, é um pouco incômodo, mas, pelo menos funciona ;)

Se alguém tiver uma alternativa(quem sabe usar outro objeto que não seja um button) ....


Responder

03/06/2008

Ricardo Silva

utiliza esse cara
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "cliente", aScript.ToString(), false);


no lugar desse
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"cliente", aScript.ToString());


essa é a maneira certa uma vez q o scriptManenger q cuida das requisições assincronas com clinete/servidor

na duvida soh posta


Responder

09/06/2008

Saulopms

funcionou sem o postback!

vcs são d+!!!

muito obrigado ao HAL9000 e RicaJedidia.

valew


Responder

09/06/2008

Hal9000

Se não me engano, o único jeito é colocar um:

Scriptmanager1 .RegisterPostBackControl (´nome do controle´)

No page load fora de qualquer teste de Ispostback pois ele deve executar sempre. Bom pelo menos eu sou obrigado a usar isso aqui para algumas rotinas que não funcionam diretamente. o único [b:4bc7c127ab]inconveniente[/b:4bc7c127ab] é que quando for [b:4bc7c127ab]pressionado[/b:4bc7c127ab] o botão ele vai fazer um postback.

Espero que ajude...

Ps:Tinha que corrigir meu Post anterior. Desculpa ai gente! é Cafeina demais... Aff :?


Responder

26/06/2008

Kchopa

Evite usar Javascript, aproveite o recurso do visual studio melhor. Assim vc terá um código mais enxuto e evita futuros erros... Utiliza o C# ou Vb.

Se vc quiser ter uma aplicação mais profissional sem usar muito códigos.. visite: www.telerik.com .... Tem um componente que conquistou a microsoft


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar