If you have not checked out ASP.NET Dynamic Data, which was released in the .NET Framework 3.5 SP1, you need to check it out. ASP.NET Dynamic Data allows one to build database-driven, forms-over-data ASP.NET Web Application using LINQ To SQL and Entity Framework quite easily. Dynamic Data uses the new ASP.NET Routing Engine and has a built-in scaffolding mechanism that provides create, read, update, delete, and list pages for your database tables. Out-of-the-box it can provide admin pages for your database tables, but with a little imagination you can do so much more than that. A good resource for ASP.NET Dynamic Data is the .NET 3.5 Training Kit:
By default, ASP.NET Dynamic Data provides filtering on foreign key relationships on your database table in the DataGrid. However, there may be times when you want additional filtering on the DataGrid. There is a new CodePlex Project, Dynamic Data Filtering, that provides additional filtering options:

Per the project description:
“Dynamic Data Filtering extends the Dynamic Data Framework to add the ability to filter on any column of a table, regardless of type. In addition to allowing filtering on any column, complex filtering is supported for the following:
- Searching ranges (ListPrice > 10 AND ListPrice < 500)
- Searching in a list of possible values (Class in (‘L’, ‘M’))
- Partial text searching (Color LIKE ‘B%’)
- Not null or empty (DiscontinuedDate is not NULL)“
The only “gotcha” here is that you need to replace LinqDataSource with the DynamicLinqDataSource.
However, if you can deal with a change in the DataSource Control and would enjoy the additional filtering options, Dynamic Data Filtering might be just the ticket. Download it here.
Tags: ASP.NET Dynamic Data Tutorials