首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

【XX】用户控件中自定义事件无法触发的有关问题

2012-01-02 
【XX】用户控件中自定义事件无法触发的问题/****************************************************模块名称

【XX】用户控件中自定义事件无法触发的问题
/***************************************************
  *   模块名称:               常数绑定下拉列表框

  *   创建人:                   叶明
  *   创建日期:               2007-05-17
  *   涉及数据表:           SystemConst
  *   最后修改人:          
  *   最后修改日期:      
  *   修改记录:
***************************************************/
using   System;
using   System.Data;
using   System.Configuration;
using   System.Collections;
using   System.Web;
using   System.Web.Security;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.WebControls.WebParts;
using   System.Web.UI.HtmlControls;
using   Microsoft.Practices.EnterpriseLibrary.Data;     //引用微软企业库


public   partial   class   Dep3Sheet_CustomControls_ConstBindDropDownList   :   System.Web.UI.UserControl
{
        Database   db   =   DatabaseFactory.CreateDatabase( "TedaBusMIS ");

        public   delegate   void   SelectIndexChangedHandler(object   sender,   SelectedChangedEventArgs   e);
        public   event   SelectIndexChangedHandler   SelectIndexChanged;

        public   class   SelectedChangedEventArgs   :   EventArgs
        {
                private   string   _selectedText;

                public   string   SelectedText
                {
                        get   {   return   _selectedText;   }
                }

                private   string   _selectedValue;

                public   string   SelectedValue
                {
                        get   {   return   _selectedValue;   }
                }

                public   SelectedChangedEventArgs(ListItem   item)
                {
                        _selectedText   =   item.Text;
                        _selectedValue   =   item.Value;
                }

        }

        protected   virtual   void   OnSelectIndexChange(SelectedChangedEventArgs   e)
        {
                if   (SelectIndexChanged   !=   null)
                {
                        SelectIndexChanged(this,   e);


                }
        }
       
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
               
        }

        ///   <summary>
        ///   用常数绑定下拉列表框
        ///   </summary>
        ///   <param   name= "constType "> 常数类型 </param>
        public   void   BindList(string   constType)
        {
                if   (constType   ==   string.Empty   ||   constType   ==   null)
                {
                        throw   (new   ArgumentException( "常数类型不能为空 "));
                }
                string   sql   =   "SELECT   ConstName,ConstValue   FROM   SystemConst   WHERE   Valid   =   1   AND   ConstType   =   ' "   +   constType   +   " ' ";
                IDataReader   dr   =   db.ExecuteReader(CommandType.Text,   sql);
                ddl.DataSource   =   dr;
                ddl.DataTextField   =   "ConstName ";
                ddl.DataValueField   =   "ConstValue ";
                ddl.DataBind();
        }

        ///   <summary>
        ///   在下拉列表框中选中指定的值

        ///   </summary>
        ///   <param   name= "selectValue "> 值 </param>
        public   void   SelectByValue(string   selectValue)
        {
                ddl.SelectedIndex   =   ddl.Items.IndexOf(ddl.Items.FindByValue(selectValue));
        }

        ///   <summary>
        ///   在下拉列表框中选中指定的文本

        ///   </summary>
        ///   <param   name= "text "> 文本 </param>
        public   void   SelectByText(string   text)
        {
                ddl.SelectedIndex   =   ddl.Items.IndexOf(ddl.Items.FindByText(text));
        }

        ///   <summary>
        ///   下拉列表框中选中项的文本
        ///   </summary>
        public   string   SelectText
        {
                get


                {
                        return   ddl.SelectedItem.Text;
                }
        }

        ///   <summary>
        ///   下拉列表框中选中项的值
        ///   </summary>
        public   string   SelectValue
        {
                get
                {
                        return   ddl.SelectedValue;
                }
        }

        public   bool   AutoPostBack
        {
                get
                {
                        return   this.ddl.AutoPostBack;
                }
                set
                {
                        this.ddl.AutoPostBack   =   value;
                }
        }

        protected   void   ddl_SelectedIndexChanged(object   sender,   EventArgs   e)
        {
                SelectedChangedEventArgs   sica   =   new   SelectedChangedEventArgs(ddl.SelectedItem);
                OnSelectIndexChange(sica);
        }
}


[解决办法]
用到这个控件的地方,没放SelectedIndexChanged事件吧,把引用这个控件的代码也贴出来。
[解决办法]
贴贴使用代码

热点排行