Web User Control og Event
Jeg er i den situation hvor jeg har en Web User Control, CreateQuestion.ascx, i ASP.NET.Her ønsker jeg at gøre det muligt for de sider som bruger denne control at abbonnere på et event jeg laver. Når der bliver klippet på en bestemt knap ønsker jeg eventet "QuestionAdded" bliver affyret.
Jeg ønsker IKKE at sende nogle bestemte data videre. Det handler kun om at vide hvornår knappen er blevet trykket.
MIN IMPLEMENTERING:
CreateQuestion.ascx:
public event EventHandler QuestionAdded;
protected virtual void OnQuestionAdded(EventArgs e)
{
if (QuestionAdded != null)
QuestionAdded(this, e);
}
/// Dette er knappen jeg vil informeres om er blevet trykket
protected void SubmitButton_Click(object sender, EventArgs e)
{
//question.Save();
this.OnQuestionAdded(new EventArgs());
}
På siden AnswerQuestion.aspx har jeg code behind som:
private void SetupControls(int myId)
{
CreateQuestionControl.QuestionAdded += new EventHandler(QuestionAdded);
}
private void QuestionAdded(object sender, EventArgs e)
{
Response.Write("HEJ KARL?");
}
MIT PROBLEM:
Lige meget hvad der sker, så bliver eventet aldrig aktiveret. Jeg ved at både SetupControls() bliver kørt, og at koden bag knappen som skulle affyre eventet bliver kørt.
Når jeg debugger kan jeg se at eventet "QuestionAdded" altid er NULL.
Hvordan gør jeg så det virker??
På forhånd,
MANGE tak! :-)