用反射方法使用户控件动态调用父页面的方法
来源:互联网 发布:java object() 编辑:程序博客网 时间:2024/05/29 17:53
文章转自HelloSnoopy:http://www.cnblogs.com/hellosnoopy/archive/2004/12/01/71312.html
父页面类型用反射的方法获取,这避免了不同页面调用同样时,需要类型转换的问题(不用写很多case了:))。
当然还有一种方法是父页面去实现一个接口,即去实现SetLabel方法,uc把this.Page转成这个接口就可以了。
用户控件:
{
//用反射方法动态调用父页面的方法
System.Web.UI.Page p = this.Page;
Type pageType = p.GetType();
MethodInfo mi = pageType.GetMethod("SetLabel");
mi.Invoke(p,new object[]{"你这个大猪猪!"});
}
父页面:
{
this.Label1.Text = str;;
}
this.Page.GetType().GetMethod("WriteOptLog").Invoke(this.Page,new object[]{"添加新图书(条形码:" + sb.ToString()+")"});
以上语句只有在WriteOptLog()方法无重载时才可用,若此方法有多个重载则应使用以下方法给GetMethod()方法加上第2个参数,如:
此处假设WriteOptLog()方法有三种方式的重载,如下所示:
1、public void WriteOptLog();
2、public void WriteOptLog(string);
3、public void WriteOptLog(string,int);
则对应的三种调用方法如下所示:
1、调用无参数的WriteOptLog()方法
this.Page.GetType().GetMethod("WriteOptLog",typeArray).Invoke(this.Page,new object[]{"添加新图书(条形码:" + sb.ToString()+")"});
2、调用一个参数的WriteOptLog(string)方法
typeArray.SetValue(typeof(string), 0);//设置指定数组元素的值,此处表示设置typeArray[0]元素的值为string类型值
this.Page.GetType().GetMethod("WriteOptLog",typeArray).Invoke(this.Page,new object[]{"添加新图书(条形码:" + sb.ToString()+")"});
typeArray.SetValue(typeof(string), 0);//设置指定数组元素的值,此处表示设置typeArray[0]元素的值为string类型值
typeArray.SetValue(typeof(int), 1);
this.Page.GetType().GetMethod("WriteOptLog",typeArray).Invoke(this.Page,new object[]{"添加新图书(条形码:" + sb.ToString()+")"});
- 用反射方法使用户控件动态调用父页面的方法
- 用反射方法使用户控件动态调用父页面的方法
- 使用C#反射实现用户控件调用父页面方法
- 使用C#反射实现用户控件调用父页面方法
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- 反射动态调用方法
- 反射的使用---调用方法(*)
- 反射:使用反射调用方法
- 使用反射调用方法
- java反射动态方法调用
- java动态反射调用方法
- java 反射动态方法调用
- 用户控件调用父页面方法
- 使用 反射技术调用类的方法
- 使用反射调用一个类的方法
- 反射的调用方法
- C# 使用反射动态调用泛型方法
- 加载图片覆盖整个窗口
- 详细介绍五种JSP跳转方法
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- many to one FK更新問題求解(identifier of an instance)
- 非主流Linux窗口管理器集锦
- 用反射方法使用户控件动态调用父页面的方法
- 平台搭建中出现的小问题
- http 站点 如何配置成 https 站点
- 怎么学习asp.net架构?
- 安装 Ncurses 5.4
- 无处不在的二八原理:在软件开发中的应用
- 当下10大最热门的网站开发技术
- Java/.net/PHP比较 程序员眼中的.Net世界
- 就互联网进化论接受国际先驱导报采访