public partial class WebUserControl : System.Web.UI.UserControl{public void TestMethod(string strID){ this.TextBox1.Text += " WebUserControl:" + strID; } public partial class WebUserControl2 : System.Web.UI.UserControl{ public void TestMethod(string strID){ this.TextBox1.Text += " WebUserControl2:" + strID; } public partial class Default1 : System.Web.UI.Page{bool isShow = true;string strWebUserControls = "WebUserControl,WebUserControl2";protected void Page_Load(object sender, EventArgs e){if (isShow){ string[] strUCs = strWebUserControls.Split(","); for (int i = 0; i < strUCs.Length; i++) { string strUCName = strUCs[i].ToString(); Control a = Page.LoadControl(strUCName+".ascx"); a.ID = strUCName; this.Panel1.Controls.Add(a); } } } protected void Button1_Click(object sender, EventArgs e) { if (isShow) { string[] strUCs = strWebUserControls.Split(","); for (int i = 0; i < strUCs.Length; i++) { string strUCName = strUCs[i].ToString(); Type tc = this.Panel1.FindControl(strUCName).GetType(); Control uc = this.Panel1.FindControl(strUCName); object o = System.Activator.CreateInstance(uc.GetType()); System.Reflection.MethodInfo m = tc.GetMethod("TestMethod"); object[] bjParas = new object[1]; objParas[0] = "1"; m.Invoke(uc, objParas); m.Invoke(a, null); } } }