Tonight we posted a new release of the Dynamic Data Runtime and Tool on the Code Gallery website. You can grab the new release by clicking here: http://code.msdn.microsoft.com/dynamicdata/Release/ProjectReleases.aspx?ReleaseId=954. We have also updated the samples to work with the latest runtime, they are available here: http://code.msdn.microsoft.com/dynamicdata/Release/ProjectReleases.aspx?ReleaseId=850.

There are many changes and fixes in this new update. Here are the highlights:

Installation

The previous release could experience problems during installation on 64-bit computers and on computers that do not have the full .NET Framework SDK installed. The current release includes the required tools for installation, so it works on computers that have just the .NET Framework 3.5 installed. Installation on 64-bit computers should work properly now.

Upgrading

Various changes have been made to the field templates and .css files that are in the “DynamicData” folder. The best upgrade path (if practical) is to copy the new “DynamicData” folder into an existing project; the new folder contains all the latest field templates.

Documentation

The previous release was released with no documentation except the Readme file. This release contains a "Preliminary ASP.NET Documentation.chm" Windows Help file file that contains some documentation for ASP.NET Dynamic Data. This is ASP.NET 3.5 pre-release documentation and is not supported by Microsoft. Blank topics are included as placeholders and existing content is subject to change in future releases.

Dynamic Data Runtime

Dynamic Data now defaults to using separate pages for listing and editing data instead of using the combined List/Details style that was used in the earlier release. You can re-enable the previous method by changing the routes in the Global.asax file.

All metadata attributes now perform validation in the Web page. In the previous release, a metadata validation attribute caused validation to be performed only if the field template contained an ASP.NET server validation control that mapped to the attribute.

Dynamic Data now can use routing not only for the path, but for the query string as well. For example, instead of having the primary key passed as an explicit query string value (Products/Details.aspx?productid=1) , the key can instead be part of the URL (Products/Details/1). This change enables you to create cleaner routes, as shown in the following example:

RouteTable.Routes.Add(new DynamicDataRoute("MyCategoryDetail/{CategoryID}") {

Model = model,

Table = "Categories",

Action = "Details"

});

RouteTable.Routes.Add(new DynamicDataRoute("{CategoryID}/MyProductList") {

Model = model,

Table = "Products",

Action = "List"

});

In the first route definition, the primary key is passed as part of the path (for example, /app/MyCategoryDetail/5). In the second example, the foreign key is being passed as part of the URL (for example, /app/5/MyProductList). The foreign key does not have to be reversed, obviously; this example just shows what you can do with routing in Dynamic Data.

The DataTypeAttribute attribute has new values, such as EmailAddress and Html. When DataTypeAttribute is applied to columns with types of Date, Time, and Currency, Dynamic Data now applies default formatting of {0:d}, {0:t}, and {0:C} automatically, which provides a nicer display in display and edit modes. You can override this behavior by placing a DisplayFormatAttribute attribute on the column.

The fallback behavior of Dynamic Data for types that are not recognized has been changed. Instead of displaying an exception, a blank value is returned. This occurs when columns are displayed that Dynamic Data does not have a field template for.

The TextArea_Edit.ascx field template has been renamed to MultilineText_Edit.ascx. This change was made so that he template maps to the MultilineText data type that DataTypeAttribute supports. In addition, the <textarea> element that is rendered by the control has been made larger.

Tools and Dynamic Data Website Wizard

The Dynamic Data Website Wizard (Preview) template is now supported for Visual Basic.

The pages generated by the wizard have undergone the following changes:

· Pages use the included Site.master page by default. (Eventually the wizard will let you choose a custom master page or choose to use no master page.)

· ValidationSummary and DynamicValidator controls are generated, which enables automatic handling of validation exceptions.

· Improvements and changes have been made to the styles that are applied to the wizard-generated pages. These changes are defined in Site.css.

· An improved ListViewPager user control for paging in the ListView control has been added to the template.

· Several code generation improvements have been made. These includes rendering drop-down lists for foreign-key fields in edit and insert modes, confirmation dialog boxes for Delete links, addition of an EmptyDataTemplate template in the ListView control, and fixing the Show All Items (formerly Go Back) links for Details forms.