У меня есть базовый пользовательский элемент управления (унаследовано от System.Web.UI.UserControl
)
public delegate void MyEventHandler(object sender, MyEventArgs e);
public event MyEventHandler ControlLoaded;
//Fire the event from here
protected override void OnLoad(EventArgs e)
{
MyEventArgs cmdEventArgs = new MyEventArgs("somearg");
ControlLoaded(this, cmdEventArgs);
}
У меня есть несколько элементов управления, которые получены из этого базового пользовательского элемента управления.
На странице ASPX хоста мне нужно подписаться на событие ControlLoaded.
protected void Page_Load(object sender, EventArgs e)
{
//subscribe to the event
//This line DOES NOT WORK as I cannot attach event to a base control - It needs an instance of the user control which I don't have
BaseUserControl.ControlLoaded += new MyEventHandler(ControlLoaded);
}
private void ControlLoaded(object sender, MyEventArgs e)
{
// some control has been loaded
}
Как подписаться на событие ControlLoaded
? Спасибо