首先我們需要明白一個道理,不管一個ASPX頁面裡面裝了多少個ASCX,始終還是要生成一個頁面的代碼的,是以毫無疑問,我覺得在解決這個問題之前我就已經确定這個問題是可解的。直接貼代碼了,首先是使用者控件調用父頁面的方法:
//獲得父頁面
Page p = this.Parent.Page;
Type pageType = p.GetType();
//父頁面的方法名
MethodInfo mi = pageType.GetMethod("Loading");
//執行
mi.Invoke(p, new object[] { "參數1","參數2" });
使用者控件與使用者控件之間調用:
//獲得父頁面
//獲得父頁面的子控件
UserControl uc = p.FindControl("tj_ReceiptList2") as UserControl;
Type pageType = uc.GetType();
//父類方法名
//參數
mi.Invoke(uc, new object[] { "參數1", "參數2" });