Para resolver o problema do Page.FindControl que não localiza os controles adicionados em Runtime vamos fazer uso do evento LoadViewState para armazenar os controle no ViewState e recupera-lós mais tarde. Este exemplo adiciona uma caixa de texto e um o botão a página Web em tempo de execução. Também se associa dinamicamente um manipulador de eventos botão Click. O manipulador exibe os valores da caixa de texto gerado dinamicamente. Os controles são adicionados a um controle de servidor Web Panel, que atua como um espaço reservado. Os controles são separados no painel com as quebras de linha (os elementos HTML ), que são adicionados ao painel usando o controle LiteralControl. Utilize o codigo abaixo: private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) AddControls(); } protected override void LoadViewState(object savedState) { base.LoadViewState(savedState); if (ViewState["controsladded"] ...