Hola,
Cuando pulsas el botón "Ok" del control "Contenido.acx" se está haciendo un postback a "CargaDinamica.aspx", ahí "pierdes" el control "Contenido", puesto que dicho control no existe en la página, sino que se carga al pulsar Mostrar.
El problema no radica en que no se esté ejecutando el evento, sino que el control ya no existe para manejar el evento cuando se hace el postback en el servidor.
Podrías arreglarlo con algo parecido al código siguiente:
1 protected void Page_Load(object sender, EventArgs e)
2 {
3 if (Page.IsPostBack)
4 {
5 object controlName = ViewState["LoadMyControl"];
6 AddControl(controlName as string);
7 }
8 }
9 protected void btnMostrar_Click(object sender, EventArgs e)
10 {
11 ViewState["LoadMyControl"] = "~/Contenido.ascx";
12 AddControl("~/Contenido.ascx");
13 }
14
15 private void AddControl(string controlName)
16 {
17
18 if (controlName != null)
19 {
20 // Creamos el control "Contenido" de forma dináica
21 Contenido contenido = (Contenido)Page.LoadControl(controlName.ToString());
22 // Agregamos el control a la página introduciéndolo en el objeto PlaceHolder
23 contenido.ID = "contenido";
24 this.PlaceHolder1.Controls.Add(contenido);
25 }
26 }
Espero que te ayude.