天天看點

使用者控件與父頁面以及使用者控件與使用者控件的方法調用和傳值

使用者控件調用父頁面的方法:

       //獲得父頁面

        Page p = this.Parent.Page;

        Type pageType = p.GetType();

        //父頁面的方法名

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

        //執行

        mi.Invoke(p, 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" });

補充:

    1.如果你要獲得方法的傳回值,Invoke方法傳回的就是方法執行的傳回值,類型是object,你轉換一下就行了!

    2.标題上還寫了傳值但是代碼裡面沒有寫?呵呵 我們能方法都能獲得難道值還拿不到?再者途徑很多,這裡就不多嘴了:)

    3.MethodInfo類的命名空間是System.Reflection

注意:

    被調用父頁或其他使用者控件的方法必須是public!

繼續閱讀