Search code examples
c#asp.netevent-handlingevent-hooking

LinkButton Click event not firing after programatic hookup


I am creating linkbuttons inside of a panel and hooking up an event handler to the Click event. It isn't firing. This is my code. Is this lost on postback?

            foreach (var item in clients)
            {
                var codeLb = new LinkButton() { Text = item.CLIENT_CODE, CssClass = "codeColumn", CommandArgument = item.CLIENT_CODE, CommandName = "Select" };
                codeLb.Click += ResultsLinkButton_Click;
                ResultsPanel.Controls.Add(codeLb);

                var nameLb = new LinkButton() { Text = item.CLIENT_NAME, CssClass = "nameColumn", CommandArgument = item.CLIENT_CODE, CommandName = "Select" };
                nameLb.Click += ResultsLinkButton_Click;
                ResultsPanel.Controls.Add(nameLb);
            }

Solution

  • Yes every dynamically created controls are lost on after postback.

    You need to recreate them again on postback and again hook up the Event Handler.

    You can read more

    https://web.archive.org/web/20210330142645/http://www.4guysfromrolla.com/articles/092904-1.aspx

    Dynamic Controls and Postback

    Hope it helps.