ASP.NET 4.0 is very different from its “out-of-the-box” forebears. Microsoft has transitioned away from Windows-oriented programming to promote more contemporary Web development standards, experts say.

As part of this new direction, Microsoft has given developers more granular control over Web content in Windows Forms, embraced the jQuery JavaScript library, and elevated its Model-View-Controller (MVC) framework to a greater prominence in the .NET stack.

“I think the changes in ASP.NET can be summed up in these proverbial four words: close to the metal,” said Andrew Brust, a Microsoft regional director (recognized by Microsoft for technical expertise) and chief of new technology at twentysix New York. Microsoft is allowing developers to cut through its forms package abstraction layer, he explained.

“Whether it’s URL routing, programmatic control of meta-keywords and description content, better control over view state or over server control-generated client IDs, Web Forms becomes much less of a black box and much more something that provides fine-grained control for those who want it,” Brust said.

URL routing adds search-engine optimization value to WebForms, said Chris Bannon, ASP.NET product manager at ComponentOne. “It’s easy to use, especially if you are familiar with MVC.”

View state is the technique used by an ASP.NET Web page to persist changes to the state of a Web Form across postbacks, according to Microsoft. The change to view state, while subtle, cannot be overlooked, said Todd Anglin, chief evangelist at Telerik. Its model is now “opt out” rather than “opt in,” creating an easy way for developers to take advantage of view state.

Microsoft also added compression for session state using Gzip (GNU zip). AJAX compression produced a radical reduction in response times in Infragistics’ ASP.NET AJAX controls, said Andrew Flick, product manager for Win Client at Infragistics.

Other time-savers are focused on developer productivity. User-generated control IDs eliminate the challenge of trying to find unpredictable control IDs, said Bannon. A control ID uniquely identifies ASP.NET server controls, thus enabling them to be programmatically accessed in the code-behind class, according to Microsoft.