asp.net com ajax

09/04/2008

Olá amigos,

estou usando o visual studio 2008 para desenvolver um site em ajax. Tenho uma masterpage com o seguinte código:

<asp:UpdatePanel ID=´conteudo_portal´ runat=´server´>
<ContentTemplate>
<asp:PlaceHolder ID=´PlaceHolder1´ runat=´server´>
<asp:ContentPlaceHolder id=´conteudo_paginas´ runat=´server´>
</asp:ContentPlaceHolder>
</asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>

e uma página default.aspx que carrega meu user control chamado default.ascx.

Até ai tudo bem. Estou carregando vários web controls, dentro deste updatepanel. O problema é quando clico em qualquer controle dentro da webcontrol carregada dinâmicamente, em vez de executar o evento do determinado botão, ele retorna para a primeira página do site, ou seja, a default.ascx.

Método do meu MasterPage:
protected void mostra_pagina(string pagina)
{
if (pagina == null)
{
pagina = ´~/default.ascx´;
}
conteudo_paginas.Controls.Clear();
UserControl uc = (UserControl)Page.LoadControl(pagina);
uc.ID = pagina;
conteudo_paginas.Controls.Add(uc);
}

Estou registrando meu botão dessa forma dentro do meu usercontrol no Page_Load, mesmo assim não funciona:

ScriptManager script = (ScriptManager)Parent.Page.Master.FindControl(´ScriptManager1´);
script.RegisterAsyncPostBackControl(bt_aplicar_filtro);

Não sei se entenderam, mais se alguém puder ajudar agradeço.


Ricardomorais

Respostas

10/04/2008

Ricardo Silva

Intendi + ou - (rsrsrsr)

Cara faz um teste ve no que vai dar...

protected void mostra_pagina(string pagina){ 
  if(!isPostBack){
    if (pagina == null) { 
      pagina = "~/default.ascx"; 
    }  
    conteudo_paginas.Controls.Clear(); 
    UserControl uc = (UserControl)Page.LoadControl(pagina); 
    uc.ID = pagina; 
    conteudo_paginas.Controls.Add(uc); 
  }
} 



Responder Citar