在UserControl中定义事件委托
一、在usercontrol中
1、定义事件
代码
public event EventHandler SaveSucessed;
{
if (SaveSucessed != null)
{
EventArgs e = new EventArgs();
SaveSucessed(this, e);
}
}
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();
}
}
{
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);");
}