ASP.NET同ページ内【ユーザコントロールと親ページ】および【ユーザコントロールとユーザコントロール】間のメソッド呼び出し

1005 ワード

ユーザーコントロールで親ページを取得する方法
1:メソッドにパラメータはありません(userInfor()
string userInfor = Convert.ToString(this.Page.GetType().GetMethod("userInfor").Invoke(this.Page, null));//取得した値はobjectタイプ
2:メソッドにはパラメータ(userInfor(int a,string b))がある.
string userInfor = Convert.ToString(this.Page.GetType().GetMethod("userInfor").Invoke(this.Page,new object[]{"パラメータ1","パラメータ2"});
 
ユーザー・コントロールとユーザー・コントロールの間で呼び出されます.
//     

Page p = this.Parent.Page;

 //          

UserControl uc = p.FindControl("tj_ReceiptList2") as UserControl;

Type pageType = uc.GetType();

//     

MethodInfo mi = pageType.GetMethod("Loading");

//  

mi.Invoke(uc, new object[] { "  1", "  2" });


 
注意:親ページまたは他のユーザーコントロールを呼び出す方法はpublicでなければなりません.
転載博文:http://www.cnblogs.com/over140/archive/2008/06/16/1222908.html