现在的位置: 首页 > 综合 > 正文

UserControl事件与委托处理

2012年08月24日 ⁄ 综合 ⁄ 共 1718字 ⁄ 字号 评论关闭

在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)), nullnew 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

抱歉!评论已关闭.