比如我有个DropDownList1,AutoPostBack为True,以前不用自定义控件的话直接调的到DropDownList1_SelectedIndexChanged这个事件,现在我把DropDownList放到了自定义控件里面,还想在刷新的时候能调的到DropDownList1_SelectedIndexChanged事件,该怎么做啊?
自定义控件里面该怎么写?值的话知道用get和set就可以,不知道事件该怎么处理?

解决方案 »

  1.   

    在自定义用户控件的PageLoad事件中调用,如果IsPostBack属性值为true时调用。
      

  2.   

    我的意思是想给这个自定义控件添加一个SelectedIndexChanged的事件,让这个自定义控件在AutoPostBack刷新的时候可以去做一些事情,不知道可实现否?
      

  3.   

    复合控件的事件处理按实现功能可分为三种:(1)复合控件中子控件的内部事件处理。(2)包含处理机制—子控件事件中调用主控件委托的事件实例。(3)冒泡处理机制。下面这篇文章有详细介绍和控件示例:【庖丁解牛:纵向切入Asp.net 3.5控件和组件开发技术系列—(5)事件和数据回发机制】
    http://blog.csdn.net/ChengKing/archive/2009/01/01/3680101.aspx
      

  4.   

    楼主仅仅要的是自定义用户控件。可以,你要像在普通的页面中给DropDawnList添加SelectedIndexChanged就可以了,让后在自定义控件的Page_Load()中当IsPostBack为true时调用
      

  5.   

    刷新时调用的话   试试在page_load事件中 isPostBack等于true的时候  也就是在页面每次加载的时候被调用
      

  6.   

    自定义控件要定义个事件,当内部的这个选择项被用户改变时触发此事件。自定义控件是一个封装,它可以隐藏内部具体的实现。因此内部不论是切换修改为DropDownList、RadioButtonList、ListBox、TextBox、Treeview或者别的什么实现方式实现这个选择功能,外部调用者都不应该受到影响,只要注册自定义控件的这个事件处理就可以了。架构师明白这个原理,在设计控件时不会纠缠于内部实现,先设计出自定义控件接口然后才实现设计和实现机制,而不是像很多程序员一样从底层开始向上(向接口层)拼凑出程序。
      

  7.   

    大概明白点了,我希望实现的是用户自定义控件,就是后缀名是ascx的那种,继承自:System.Web.UI.UserControl。
    确实可以在用户自定义控件的Page_Load()里写,但是我希望做的事情每个调用这个用户自定义控件的页面都不一样,所以没法写成一样的,用web控件库(WebControlLibrary)应该是能实现的。但是如果一定要用用户自定义控件的话,可以实现我希望的功能吗?就是给加上像DropDownList1_SelectedIndexChanged这种的事件?