ASP.NET 3.5 Extensions: All About Dynamic Data

Dynamic data is a very cool feature of the ASP.NET 3.5 Extensions that allows you to trivially easy build, customize and maintain a data driven web application… If you have a project that starts with some data in a database and you want to enable, viewing, editing, filtering, sorting of that data in all kinds of interesting ways then you have to check out Oryx.. 


David has done a very good Screencast that takes everyone’s favorite Northwind database and shows how to build a very cool site out of it. 


Here is a quote from the forums about this release that I just love:

I installed everything and ran it using Visual Web Developer express. It works. Damn scary to create something that would take a day to create in only 3 minutes


The Dynamic Data Quick Starts can you you going quickly on kicking the tiers.

David has a great post introducing Dynamic Data

Marcin has a great post on adding custom metadata providers in ASP.NET 3.5 Extensions Preview

Stay tuned, to David, Marcin and Scott’s blog for even more to come!


I’d love to hear what you think!

Comments (6)

  1. snprbob86 says:

    This reminds me a lot of Django’s automatic admin interface (that’s a good thing), but I’m just not making the mental leap from this to a polished, finished site.

    Will it be easy to iterate the templates until you have a finished site? Or is this merely a scaffolding tool and it will be easier to just recreate pages with normal means.

    Also, how will this play with the new URL routing?

  2. Stonefish says:

    DAMN!! That’s what I kept saying after every feature was shown. This is definitely worth investigating further.

  3. BradA says:

    snprbob86 – thanks for your comments…  

    Dynamic Data provides a scaffolding mechanism through templates but scaffolding is just a MINOR subset of the feature set we provide. I’m not trying to downplay the power of scaffolding but the real power is that every Dynamic Data feature that you see do not depend on scaffolding:

    Dynamic Data Features (with/without scaffolding):

    – Look at data model metadata to determine right controls and settings:

    o If a string field has a length we honor that in the UI

    o If a field accepts a certain type we validate the input is the correct type

    o If a field is nullable we enforce that the field is required in the UI

    o If a field is a foreign key we will lookup and display the text version of it from the foreign key table automatically and provide a dropdownlist edit functionality in edit scenarios

    o Provide automatic ability to hyperlink to the foreign key table from  a foreign key column

    o Provide filtering controls that provide automatic filtering based on foreign key and bool fields in a table

    o Provide data model meta data to change the validation, field formatting and display:

     Validation

    • Required              

    • Regex

    • Range

     Formating

    • DisplayFormat

    • DisplayColumn

     Display

    • RenderHint

    o Provide the ability to easily replace the controls that the built in ASP.NET data driven controls use to data in a column

     FieldTemplate Controls

    • Provide default set of controls plus source code to make easy to change

    • Extensible  via user created controls or replacing existing controls

    o Much nicer pager  control for GridView with source code

    o DynamicGridView, DynamicFormView, DynamicListView and DynamicDetailsView can be used in standalone pages

    You get all of these features whether you use full scaffolding, partial scaffolding or no scaffolding. Here is what provide via scaffolding:

    Dynamic Data Feature (scaffolding):

    – Instant creation of fully functional website

    o Developer can choose inline editing (GridView/DetailsView on same page) or separate editing (click item move to details page)

    o Global templates affect entire scaffold and are just regular ASP.NET pages that can be edited

    – Uses same routing engine as MVC (in future CTP/Beta)

    o URL and routing can be customized

    – Template can be overridden for any table/action

    o If developer wants to customize the scaffold a regular ASP.NET page can be created for the table/action. By default with a copy of the global template and then customized as much as needed using regular ASP.NET programming logic plus Dynamic Data controls

    Our goal here was to make as much of the power of Dynamic Data available both inside and outside the scaffold. And at the same time try and make a very flexible scaffold that can overridden at the global level, metadata level and the page level. So you can use the scaffold as a starting point and override as you go but it is not required to utilize all the power Dynamic Data has to offer. Plus all of this same feature stack will be available inside the MVC framework as well. So you can choose Web Forms or MVC and have the same level of support.

  4. Great!…

    I really don’t know what’s all the fuzz about Asp.Net MVC, when you have Dynamic Data ;).

    Now I don’t have to forget all about Web Forms 😀


  5. ASP.NET 3.5 Extensions: All About Dynamic Data