This is an interesting way of skinning the cat. You are not asking "What did I do wrong", but "what are the likely things that I could have done wrong".
Interesting, because I think it shows that you want to figure it our on your own, but also because I am having a hard time coming up with suggestions, without any kind of a hint. There is an almost unlimited number of possibilities.
If the form posts back, the event fires. I think this is synonmous. If you don't see an event handler being invoked, maybe you are looking at the wrong place.
I find this method useful in such situations. I call it from page_load, and it shows me details about what caused the event to fire, before event handlers are invoked.
/// <summary>
/// Find which control caused the post back
/// </summary>
/// <param name="page"></param>
/// <returns></returns>
public static System.Web.UI.Control
GetPostBackControl(System.Web.UI.Page page) {
Control control = null;
string ctrlname = page.Request.Params["__EVENTTARGET"];
if (ctrlname != null && ctrlname != String.Empty) {
control = page.FindControl(ctrlname);
}
// if __EVENTTARGET is null, the control is a button type and we need to
// iterate over the form collection to find it
else {
string ctrlStr = String.Empty;
Control c = null;
foreach (string ctl in page.Request.Form) {
// handle ImageButton controls ...
if (ctl.EndsWith(".x") || ctl.EndsWith(".y")) {
ctrlStr = ctl.Substring(0, ctl.Length - 2);
c = page.FindControl(ctrlStr);
}
else {
c = page.FindControl(ctl);
}
if (c is System.Web.UI.WebControls.Button ||
c is System.Web.UI.WebControls.ImageButton) {
control = c;
break;
}
}
}
return control;
}