UserControl事件与委托处理

 

在UserControl中定义事件委托

一、在usercontrol中

1、定义事件

 

代码
         public   event  EventHandler SaveSucessed;

        
protected   void  OnSaveSucessed()
        {
            
if  (SaveSucessed  !=   null )
            {
                EventArgs e 
=   new  EventArgs();
                SaveSucessed(
this , e);
            }
        }

 

 

2、在事件中调用

 

代码
         protected   void  SaveRoleInfo( object  sender, AjaxEventArgs e)
        {
            updateDate 
=  DateTime.Now;
            
int  result  =   - 1 ;
            
if  ( string .IsNullOrEmpty(uxHiddenRoleId.Value.ToString()))
            {
                result 
=  roles.InsertRole(uxTextFieldRoleName.Text, uxTextAreaRoleDes.Text,  null , Convert.ToBoolean(Convert.ToInt32(uxComboBoxDisable.SelectedItem.Value)));
            }
            
else
            {
                result 
=  roles.UpdateRole(uxTextFieldRoleName.Text, uxTextAreaRoleDes.Text, updateDate, Convert.ToBoolean(Convert.ToInt32(uxComboBoxDisable.SelectedItem.Value)),  null new  Guid(uxHiddenRoleId.Value.ToString()));
            }
            
if  (result  ==   1 )
            {
                Ext.Msg.Alert(
" 操作 " " 保存成功 " ).Show();
                uxWindowRoleInfoEdit.Hide();
                OnSaveSucessed();
// 调用定义的事件
            }
            
else
            {
                Ext.Msg.Alert(
" 操作 " " 保存失败 " ).Show();
            }
        }

 

二、在其他页面中事件的处理

1、在pageload中添加委托

 

         protected   void  Page_Load( object  sender, EventArgs e)
        {
            uxUserRoleInfoEdit.SaveSucessed 
+=   new  EventHandler(uxUserRoleInfoEdit_SaveSucessed);
        }

 

2、实现该事件的操作

 

         void  uxUserRoleInfoEdit_SaveSucessed( object  sender, EventArgs e)
        {
            uxUserRoleInfoEdit.uxWindowRoleInfoEdit.AddScript(
" alert(0); " );
        }

 

 

 

参考文献:http://space.itpub.net/12639172/viewspace-483918

你可能感兴趣的:(user)