One of the common complaints developers have often had with
ASP.NET Web Forms is that when using server controls they don’t have the
ability to easily generate clean, CSS-friendly output and markup. Some of
the specific complaints with previous ASP.NET releases include:
Auto-generated ID attributes within HTML make it hard to
write JavaScript and style with CSS
Use of tables instead of semantic markup for certain
controls (in particular the asp:menu control) make styling ugly
Some controls render inline style properties even if no
style property on the control has been set
ViewState can often be bigger than ideal
ASP.NET 4 provides better support for building
standards-compliant pages out of the box. The built-in <asp:>
server controls with ASP.NET 4 now generate cleaner markup and support CSS
styling – and help address all of the above issues.