I\'m not for sure how the ControlCollection of ASP.Net works, so maybe someone can shed some light on this for me.
I recently discovered the magic that is extension
This is just because the ControlCollection class came around before generics; so it implements IEnumerable but not IEnumerable.
Fortunately, there does exist a LINQ extension method on the IEnumerable interface that allows you to generate an IEnumerable through casting: Cast
var c = Controls.Cast().Where(x => x.ID == "Some ID").SingleOrDefault();