注册 登录
编程论坛 ASP.NET技术论坛

求助,自定义控件方法调用的问题

yutianyi 发布于 2010-03-13 13:45, 890 次点击
假设b.ascx为自定义的控件,a.aspx为父控件,父控件中有方法show(),现在我想在b.ascx的后台调用show(),怎么实现?
2 回复
#2
冰彩虹2010-03-14 12:22
利用反射机制可以访问

在b.ascx的后台
    protected void btn_Click(object sender, EventArgs e)
    {
        System.Web.UI.Page motherPage = this.Page;
        Type pageType = motherPage.GetType();

        //这里用到了反射
        System.Reflection.MethodInfo mi = pageType.GetMethod("show"); //"show"为a.aspx页面文件的public方法
        if (mi != null)
        {
            string txtValue = "你好";
            string ddlvalue = "Buddy";
            mi.Invoke(motherPage, new object[] { ddlvalue, txtValue });
        }
    }
#3
yutianyi2010-03-15 13:57
嗯,谢谢高手
1