日期:2014-05-17  浏览次数:20444 次

asp.net 中两个用户控件之间如何实现传递参数
如何通过同一个页面上的一个ascx控件的某一个消息触发另一个ascx控件的状态变化, 
比如说,我在a.ascx控件中的DropDownList控件中选择了 "2 ",自动的在b.ascx控件中的Label中就显示为 "2 ",而不用人为的获取Session之类的存储介质,并且这两个控件是动态加载到aspx文件上的..... 
请教各位高人......

------解决方案--------------------
你总要有一个“加载”流程,它们总要有宿主。

作为宿主程序,它注册了a.ascx的(例如) CityChanged 事件,在这个事件处理方法中去取得这个控件实例的)例如)City属性,然后调用另外一个控件实例设置其属性。

当然假设另外一个控件实例本身就有一个public方法的参数签名与前一个控件实例的 CityChanged 委托签名相同,那么你的宿主程序可以直接将这个方法注册给 CityChanged 事件,而少写两行代码。
------解决方案--------------------
a中的DropDownList通过属性暴露出来,b加载时候订阅这个属性的SelecteIndexChange事件
------解决方案--------------------
参考:
http://www.cnblogs.com/insus/archive/2011/12/12/2284382.html



或者:
http://www.cnblogs.com/insus/archive/2011/12/10/2283142.html