在UserControl中定义事件委托
一、在usercontrol中
1、定义事件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
public
event
EventHandler SaveSucessed;
protected void OnSaveSucessed()
{
if (SaveSucessed != null )
{
EventArgs e = new EventArgs();
SaveSucessed( this , e);
}
}
protected void OnSaveSucessed()
{
if (SaveSucessed != null )
{
EventArgs e = new EventArgs();
SaveSucessed( this , e);
}
}
2、在事件中调用
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
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();
}
}
{
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);
}
{
uxUserRoleInfoEdit.SaveSucessed += new EventHandler(uxUserRoleInfoEdit_SaveSucessed);
}
2、实现该事件的操作
void
uxUserRoleInfoEdit_SaveSucessed(
object
sender, EventArgs e)
{
uxUserRoleInfoEdit.uxWindowRoleInfoEdit.AddScript( " alert(0); " );
}
{
uxUserRoleInfoEdit.uxWindowRoleInfoEdit.AddScript( " alert(0); " );
}