Using the ASP.NET Dynamic Data features introduced by the .NET Framework SP1 on my new project( a short intensive XP'ish, prototyping),  I was impressed by the fact that in two days I had all entities up and running in a data-entry application.
So I had something to show my client and the future users. They told me what they liked and how they felt the application should be working.
The first thing was that they wanted to search. Not only Filter (what is made possible out-of-the-box), but search, to my surprise this was not possible!

I went to and opened the forum. I asked for the functionality. Scott Hunter, the PM on Dynamic Data answered my question an gave me the following url:
Josh Heyse from Catalyst Software Solutions is responible for this release. It is a dll that holds a DynamicLinqDataSource, DynamicFilterControl and the DynamicFilterForm. You just put it on the page by dragging and dropping.
When we drop the control on the page in the top of the page the following declaration is placed, so the page knows where the dll is containing the control:

   1:  <%@ Register Assembly="Catalyst.Web.DynamicData" Namespace="Catalyst.Web.DynamicData" TagPrefix="search" %>

Listing 1: Register Assembly

In the DynamicLinqDataSource you specify the

  • ContextTypeName (Linq to SQL or Entity Framework Datacontext Typename)
  • TableName (Name of the Table which contains the data you want to show on the page)
   1:  <search:DynamicLinqDataSource ID="GridDataSource" 
   2:                                ContextTypeName="Avanade.Data.MambooDataContext" 
   3:                                TableName="Products" 
   4:                                runat="server" >
   5:  </search:DynamicLinqDataSource>

Listing 2: DynamicLinqDataSource

In the FilterTemplate that is a child of the DynamicFilterForm you put the DynamicFilterControl, the DynamicFilterForm functionally acts like a form tag in HTML. The FilterTemplate, is like the ContentTemplate for AJAX;s UpdatePanel or ItemTemplate for GridView.
In the properties of the DynamicFilterControl we declare the DataField (Field belonging to the Table specified in the TableName of the DynamicLinqDataSource) and the FilterMode (Contains, Equals, MultiSelect, Range)

   1:  <search:DynamicFilterForm DataSourceID="GridDataSource" runat="Server" ID="DynamicFilterForm2">
   2:      <FilterTemplate>
   4:          <asp:Label  ID="FilterTextLabel" 
   5:                      runat="server" 
   6:                      Text="NHL nummer"> 
   7:          </asp:Label>
   9:          <search:DynamicFilterControl ID="DynamicFilterControl1" 
  10:                                       DataField="ProductName" 
  11:                                       FilterMode="Contains" 
  12:                                       Cssclass=""
  13:                                       runat="server">
  14:          </search:DynamicFilterControl>
  16:      </FilterTemplate>
  17:  </search:DynamicFilterForm>

Listing 3: DynamicFilterform containing DynamicFilterControl

Now the user can enter the searchterm ´Dynam´ and find the product ´ASP.NET Dynamic Data´.

Henry cordes
My thoughts exactly...