假设
ascx里面有个button叫"按钮1"
再给ascx定义一个EventHandler委托类型的属性叫"属性1"
当ascx放到aspx后ascx叫"用户控件1"在aspx的Page_Load方法中加入
用户控件1.属性1=方法名1然后在ascx中Page_Load方法中加入
按钮1.click += this.属性1这种方式的原理就是,给ascx设置一个EventHandler委托类型的属性,在aspx里面去设置ascx实例的这个属性,即把aspx里面的方法名付给ascx实例的这个属性,最后在ascx中注册click事件,并把这个属性作为click事件触发后的响应。这种写法,你得理解事件和委托。不然不容易理解,知其然不知其所以然。当然也可以给ascx定义一个string的属性叫"属性1",然后在aspx设置ascx实例的属性1成string类型的方法名。最后在ascx中获取string类型的方法名,通过反射这个方法名,获取aspx上的这个方法,最后绑定到ascx的按钮1的click上,不过这种方式太麻烦,性能上也没上面的方法好,所以不推荐,至于其他方法应该还有很多。