Why does ASP.NET WebForms hate the ID?

Just needed to reiterate my hate for the way ASP.NET WebForms munge the id attribute on rendered HTML controls. Seriously, there is nothing more annoying than going to write a little JavaScript and wanting to grab an element by it’s id and you can’t because it’s been turned into “cntHolder1_cntHolder2_cxtPlaceholderArea98_lblButtonMaybe”. It’s obvious that whomever designed WebForms had never actually worked with HTML or CSS before.

If someone has an easy solution I’d love to hear it but this is one of the reasons I’m so excited about ASP.NET MVC.