Microsoft released ASP.NET 3.5 on November 19, 2007. Along with it, was released
Visual Studio 2008. This evolution from ASP.NET 2.0 to ASP.NET 3.5 is quiet gradual.
ASP.NET 3.5 uses the same engine as that of ASP.NET 2.0, with some extra features
added on top of it. In this article, we will explore the new features added to ASP.NET
3.5. This article assumes that you have been working on ASP.NET 2.0.

.: New Features in ASP.NET 3.5

ASP.NET AJAX

In ASP.NET 2.0, ASP.NET AJAX was used as an extension to it. You had to download
the extensions and install it. However in ASP.NET 3.5, ASP.NET AJAX is integrated
into the .NET Framework, thereby making the process of building cool user interfaces
easier and intuitive. The integration between webparts and the update panel is much
smoother. Another noticeable feature is that you can now add ASP.NET AJAX Control
Extenders to the toolbox in VS2008. Even though this is an IDE specific feature,
however I feel it deserves a mention over here for developers, who had to add extenders
using source view earlier. It is also worth noting that Windows Communication Foundation
(WCF) now supports JSON along with other standard protocols like SOAP, RSS and POX.

New Controls

The ListView and DataPager are new controls added along with a new datasource control
called the LinqDataSource.

ListView

The ListView control is quiet flexible and contains features of the Gridview, Datagrid,
Repeater and similar list controls available in ASP.NET 2.0. It provides the ability
to insert, delete, page (using Data Pager), sort and edit data. However one feature
of the ListView control that stands apart, is that it gives you a great amount of
flexibility over the markup generated. So you have a complete control on how the
data is to be displayed. You can now render your data without using the table tag.
You also get a rich set of templates with the ListView control.

DataPager

DataPager provides paging support to the ListView control. The best advantage is
that you need not have to keep it ‘tied’ with the control on which the paging is
being done. You can keep it anywhere on the page. DataPager gives you a consistent
way of paging with the controls that support it. Currently only ListView supports
it as it implements the IPageableItemContainer. However support is likely to be
added to other List controls as well.

LINQ

LINQ (Language Integrated Query) adds native data querying capability to C# and
VB.NET along with the compiler and Intellisense support. LINQ is a component of
.NET 3.5. LINQ defines operators that allow you to code your query in a consistent
manner over databases, objects and XML. The ASP.NET LinqDataSource control allows
you to use LINQ to filter, order and group data before binding to the List controls.
You can learn more about LINQ over
here.