谈谈UserControl调用页面的几种方法
2010-04-24 20:54
155 查看
相信大家在Asp.net开发中经常会碰到一些问题,那就是有时候不得不在用户控件中通知页面做一些事情。
1.很显然的做法就是,在用户控件声明代理,然后再页面中指定代理的方法。这是一个很好也很方便的事情,定制方式也相对更灵活一些。
2.然而有时候,我们往往需要做的是在用户控件中调用一些方法来为自己做一些事情,而这些方法是在页面的基类当中的,而我们并不想在用户控件重写页面中的方法或者拷贝数据,这违背了高内聚的特点,对后期的代码维护是很不利的。
其实我们可以充分利用.Net的反射性质来实现。
实现思路:
1。获取页面实体。(this.Page)
2.利用反射取得页面的方法。
3.传参进行调用。
参考代码:
protected object CallPage(string methodName,params object[] paras)
{
MethodInfo method = this.Page.GetType().GetMethod(methodName,
BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Private|BindingFlags.Instance);
return method.Invoke(paras);
}
1.很显然的做法就是,在用户控件声明代理,然后再页面中指定代理的方法。这是一个很好也很方便的事情,定制方式也相对更灵活一些。
2.然而有时候,我们往往需要做的是在用户控件中调用一些方法来为自己做一些事情,而这些方法是在页面的基类当中的,而我们并不想在用户控件重写页面中的方法或者拷贝数据,这违背了高内聚的特点,对后期的代码维护是很不利的。
其实我们可以充分利用.Net的反射性质来实现。
实现思路:
1。获取页面实体。(this.Page)
2.利用反射取得页面的方法。
3.传参进行调用。
参考代码:
protected object CallPage(string methodName,params object[] paras)
{
MethodInfo method = this.Page.GetType().GetMethod(methodName,
BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Private|BindingFlags.Instance);
return method.Invoke(paras);
}
相关文章推荐
- 手机页面调用拨号的几种方法
- 16、2015.08.03第十七节课 C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)
- HTML:调用静态页面html 的几种方法
- web页面动态加载UserControl,并调用用户控件中的方法来初始化控件
- 几种调用WebService的方法
- JS技巧:调用iframe中父页面/子页面中的JavaScript方法
- 如何退出一个框架页面的几种方法
- 怎样在用户控件中调用父页面中的方法
- 分析函数调用关系图(call graph)的几种方法
- js调用父窗口(父页面)的方法
- 在ASP中实现页面与数据库连接的几种实用方法
- 【Flex】Flex页面跳转的几种方法
- (转)C#调用默认浏览器打开网页的几种方法
- Javascript刷新页面的几种方法
- vue页面与现有工程的几种集成方法
- mui 重写back 调用back方法,实现返回就即时刷新页面
- Servlet跳转到jsp页面的几种方法
- asp.net页面传值的几种方法
- java调用WebService接口的几种方法
- parent用法--调用上层页面方法