I finished (ish) aying we should have a naming convention o fthe sorts "assembly.namespace.class.index " - but this isn't enough.
what we need to do is keep a cout of instances of a control.
How ??
Ok, if we dynamically create a control in code we can give it an id.
MyControl myc = new MyControl();
myc.ID = "whatever" + i (if we are in a loop)
But what if we need to access the child controls with that control ??? How do we give the child controls Id's ???
As explained myc.FindControl("achild") is no good since as soon as you create 2 MyControls you duplicate the "achild" id inside the control.
myc.FindControl("achild") DOES NOT restrict it to finding children called "achild" within myc .... it finds anything, anywhere called "achild" and will invariable chuck out an error @@Duplicate ID's@@
So we need to keep track of instances and generate id's of children based on those instances, and we cannot specify the id of the child within the control because it gets duplicated with every instance, which means we cannot access them using myc,FindControl("achild").
Really we should find the control and then name the child based on i in the loop above, but we cant get to the child without knowing its id.