Pergunta

Quero usar controles de usuário "complexos" com mais de um elemento de controle.É o mesmo controle que reutilizarei na lista e já tenho um controle PlaceHolder para ele.

Posso adicionar o controle com LoadControl (caminho para .ascx) - sem problemas.

Também posso, por meio de minhas propriedades personalizadas, obter/definir acesso aos rótulos incorporados, para poder inicializar cada controle perfeitamente.

Mas ao adicionar LinkButtons, entro em apuros/problemas.

Quando clico no botão, recebo um "envio" da página que renderiza os controles;mas o próprio evento de botão do controle parece não disparar (ou pelo menos o PageLoad na página pai parece disparar primeiro?) - Não consigo descobrir para onde vai meu evento ou onde procurar um nome/ID ou parâmetro para isso botão.

Por que ou o que estou fazendo de errado aqui?

Eu fiz um "botão falso" agora usando um rótulo mais com um "A HREF codificado" com um ID na URL, mas gostaria de saber qual evento preciso capturar e onde ou como iniciar o botão, porque quero poder usar controles "ASP.NET padrão" para esses controles de usuário (espero que sem muita codificação de patchwork) ...

Foi útil?

Solução

A única razão pela qual os eventos são "perdidos" é porque seus controles não estão sendo recriados de forma que o ASP.Net possa associar o evento ao controle após o postback.Isso é feito através do uso da propriedade ID.

Em outras palavras, você está fazendo uma das três coisas erradas:

1) Você está atribuindo os IDs dos seus botões de link de maneira diferente durante a fase de criação no Init após o postback

2) Você está criando seus botões de link dinamicamente usando código, mas está fazendo isso após a fase Init do ciclo de vida da página, para que seus controles não participem do ViewState.

3) Você está vinculando novamente a fonte de dados do controle pai que contém os botões de link em cada postback.Usar if (!IsPostBack) para evitar religá-lo todas as vezes.

Sem ver seu código, infelizmente não posso dar nada mais específico do que isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top