Ciao !
Allora, per caricare uno user control da codice all'interno della tua pagina, puoi leggerti questo:
http://www.aspitalia.com/script/481/Aggiungere-User-Control-LoadControl.aspx
Invece, per quanto riguarda il resto, puoi avere una situazione di questo genere:
Figlio.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Figlio.ascx.cs" Inherits="Progetto.Figlio" %>
Figlio.ascx.cs
namespace Progetto
{
public partial class Figlio : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("ciao");
}
}
}Padre.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Padre.ascx.cs" Inherits="Progetto.Padre" %>
<asp:Button ID="btn" runat="server" Text="click me" />
Padre.ascx.cs
namespace Progetto
{
public partial class Padre : Figlio
{
}
} Così, i controlli e gli elementi html però sono visibili solo quelli dello user control Padre, mentre la parte di code-behind viene eseguita quella dello user control Figlio.
Però secondo me, ti conviene creare dei controlli custom senza utilizzare gli user control