父页面aspx调用子页面ascx方法

父页面引用用户控件,调用用户控件方法

  1.可以直接通过用户控件引用的ID访问用户控件里的public方法

  2.也可提成接口,然后调接口方法
  3.也可以反射
  4.也可以做成委托

  2,4方法没有使用。记录下方法3

   Control c = Page.FindControl("ucResult" + (i + 1) + "");

   如果直接用C去调用用户控件的方法的话,会提示不包含XX方法,Page.FindControl()返回值是Control,是具体用户控件的父类。

   可以用反射的方法去调用。   

  //获得子页面
  Type pageType = c.GetType();

  MethodInfo m1 = pageType.GetMethod("用户控件方法名");

  //执行该方法

    m1.Invoke(c, 参数);

  这样就可以通过反射去调用用户控件里的方法。

回头再去用其他两种方法试试。

你可能感兴趣的