• λ我爱Aspx >> Asp.Net >> web组件的通信---浅谈事件
  • web组件的通信---浅谈事件

  • :未知  Դ:internet  :2007-5-20 16:40:29  ؼ:web
  • 大家目前开发asp.net程序经常会用到usercontrols即pagelet(.ascx文件)。有不少人现在把它当做asp里的include来使用。当然这也是很自然的,但一旦考虑到user controls和他所处的容器web form之间或其他user controls之间的通信,事情好像就比较复杂了。比如说,我有这样一个页面

    User Control(Image Button)

    User Control(Left Hyperlink Menu) User Control(Main Content) User Control(Advertisments)

    User Control(Additional Links)

    如果你想要在点击左面的Link时,让container动态的调用一个新的user control到Main Content的位置,这就要求我们给这两个web组件定位:

    1.Parent Web Form:应该知晓页面中他所有load的user controls传递给他的的布局和导航消息

    2.User Control:向Parent Web Form传递消息

    拿上面的例子说,Parent Web Form怎样才知道你什么时候点击了Left Hyperlink Menu中的一个Link,或者Parent Web Form怎样才知道你点击了哪一个Link?很明显我们应该提供一个通信机制,而.NET Framework已经提供了这样一套机制--Event。(当然上面的例子可以用Response.Redirect和Request.Params来解决,但这不是一个最优的解决方案,因为这种机制是紧密耦合的,而一个好的组件是应该有高度独立性的,我以前也说过事件是松散耦合的机制)

    现在我们来先看一段代码

    using System;

    using System.Web.UI.WebControls;

    namespace Michael.Communication.UserControls.Delegates

    Ҷƪл˵?
  • һƪ用Visual C#动态生成组件
    һƪWMI使用技巧集