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);
}
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
Hope it helps.