Я не уверен, как работает ControlCollection ASP.Net, поэтому, возможно, кто-то может пролить свет на это для меня.
Недавно я обнаружил магию, которая заключается в методах расширения и Linq.Ну, мне было очень грустно обнаружить, что это неправильный синтаксис
var c=Controls.Where(x => x.ID=="Some ID").SingleOrDefault();
Однако, насколько я могу судить, Controls
реализует интерфейс IEnumerable
, который предоставляет такие методы, так что же дает?Почему это не работает?Я нашел достойное решение этой проблемы, по крайней мере:
var list = (IEnumerable<Control>)Controls;
var this_item = list.Where(x => x.ID == "Some ID").SingleOrDefault();