none
Criando WebControl - Erro no Handler RRS feed

  • Pergunta

  • Pessoal,

    Estou com um problema que não estou entendendo.

    Estou criando um componente que, internamente, ele cria LinkButtons e apresenta na tela. Esses links são criados conforme quantidade definida pelo usuário.

    Exemplo:
    Usuário configura 4 itens, onde cada um vai gerar um LinkButton. Ate então OK. A geração e apresentação na tela está funcionando sem problemas.
    Para cada button eu informo que o Handler dele é um determinado método que implementei. Também funcionando, quando ocorre o postBack.

    Porém, independente do link que eu clicar o Handler somente está identificando um único link:
    Nesse exemplo, tenho 4 links. Independente daquele que eu clico, ele identifica que o link 3 está sendo clicado.

    Alguém já teve esse problema ou sabe como resolvê-lo?

    A classe está herdando de CompositeControl e implementando o INamingContainer
    Segue porção do código.

    Cria os controles
    Code Snippet

        Protected Overrides Sub CreateChildControls()
            '...
            For Each LobjAba As Aba In LcolAba
                Dim LlnkBotao As System.Web.UI.WebControls.LinkButton
                LlnkBotao = New System.Web.UI.WebControls.LinkButton
                LlnkBotao.Text = LobjAba.Texto
                LlnkBotao.CommandArgument = LobjAba.Id
                AddHandler LlnkBotao.Click, AddressOf Aba_Click
                Me.Controls.Add(LlnkBotao)
            Next
        End Sub



    Intercepta o click
    Code Snippet

        Private Sub Aba_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            Me.EnsureChildControls()
            Dim LlnkButton As New System.Web.UI.WebControls.LinkButton
            LlnkButton = CType(sender, System.Web.UI.WebControls.LinkButton)
            '...
        End Sub


    Valeu!!!!
    sexta-feira, 3 de outubro de 2008 14:43

Respostas

  • Depois de tanto testar, consegui solucionar.

    No primeiro bloco, no post anterior, são criados os controles internos (LinkButton). Só que o ID do mesmo está sendo criado automaticamente pelo Framework.

    Alterei isso e defini um valor "fixo":

    Code Snippet

    LlnkBotao.ID = Me.ID & "_" & LobjAba.Id



    Problema solucionado!
    sexta-feira, 3 de outubro de 2008 21:00