I have a web user control, CreateQuestion.ascx, in ASP.NET. I want an event "QuestionAdded" to fire when a specific button is clicked. I don't want to send any data, I just want to know WHEN the button is fired.
My implementation:
CreateQuestion.ascx:
public event EventHandler QuestionAdded;
protected virtual void OnQuestionAdded(EventArgs e)
{
if (QuestionAdded != null)
QuestionAdded(this, e);
}
/// This is the button I want to know when is fired
protected void SubmitButton_Click(object sender, EventArgs e)
{
//question.Save();
this.OnQuestionAdded(new EventArgs());
}
On the page AnswerQuestion.aspx, I use this:
private void SetupControls(int myId)
{
CreateQuestionControl.QuestionAdded += new EventHandler(QuestionAdded);
}
private void QuestionAdded(object sender, EventArgs e)
{
Response.Write("HEJ KARL?");
}
My problem No matter what, the event is never fired. I know that both SetupControls() is being run, and the code behind the button which should fire the event is run.
When I debug, I can see the event QuestionAdded always are null.
How do I make this work?
Thanks a lot