Search Wiki:

Changes in the 05-23 Release


Dynamic Data Runtime
  • Added System.Web.Extensions to the release to provide access to a LinqDataSource that allows derived classes to implement the actual operations for Inserting, Updating and Deleting data to allow it to work on things other than Linq to SQL.
  • Fixed a bug where on post backs the items in the filter drop down lists where re-added each time.
  • Fixed a bug where if a database error occurred on a Details page it would not be displayed before the page was redirected back to the List page.
  • Fixed a bug that prevented Dynamic Data from working with websites are were pre-compiled.
  • Fixed a bug that caused Not Set to appear in foreign key drop down lists even if the foreign key did not accept null values.
  • Fixed a bug where a null reference exception is thrown when registering a Linq to SQL or Entity Framework data model that contains associations with disabled child properties.
  • Changed the CSS for the GridViewPager so it looks the same under IE 7 and Firefox 3.
  • Removed the MetadataValidator static class that contained helper functions for doing model level data validation outside of web applications.
  • Changed the validation attributes in System.ComponentModel.DataAnnotations so they are not sealed and can derived from.

Dynamic Data Website Wizard

The Dynamic Data Website Wizard now supports Edit and Insert forms (in addition to List and Details forms). The pages generated by the wizard have undergone the following changes:

  • Details, Edit, and Insert forms have switched from ListView to FormView-based renderings. The Site.css style sheet has changed accordingly.
  • When Details or Edit forms are on the same page as the List that links to them, the List omits its Details or Edit links, using a Select button instead. Details and Edit forms have a DynamicControlParameter that syncs to the selected item in the List. Similarly, when Insert is on the same page as the List, the List omits the Insert New Item link from its rendering.
  • When Details or Edit forms are on a separate page from the List that links to them, the List includes Details and Edit links (implemented w/ the DynamicLink control) and Detail and Edit have a DynamicQueryStringParameter. Similarly, when Insert is on a separate page from the List, the List includes the “Insert new item” link (implemented using the DynamicLink control).
  • When Details, Edit, and Insert forms are on the same page as the List that links to them, they auto-databind the List on certain events. Similarly, the List auto-databinds the Details, Edit controls that it links to:
    • List (OnRowUpdated, OnRowDeleted) -> calls Details.DataBind, Edit.DataBind
    • Details (OnItemUpdated, OnItemDeleted) -> calls List.DataBind
    • Edit (OnItemUpdated) -> calls List.DataBind
    • Insert (OnItemInserted -> calls List.DataBind)
  • When Details, Edit, or Insert forms are on a separate page from the List that links to them, they auto-redirect back to that List on certain events:
    • Details (OnItemDeleted) -> calls RedirectToList method
    • Edit (OnItemUpdated, OnItemCommand/Cancel) -> calls RedirectToList method
    • Insert (OnItemInserted, OnItemCommand/Cancel -> calls RedirectToList method
  • Whenever a List form on a non-scaffolded page (outside of the CustomPages folder) links to a Details, Edit, or Insert on a separate page, it passes a returnUrl param on the querystring. RedirectToList uses this returnUrl param, if present, otherwise it redirects to the scaffolded List page (MetaTable.ListActionPath).
  • The DynamicLink control has been updated to include support for an ImageUrl property (used for Insert new item links
  • The DynamicLink control has been updated to include support for rendering outside of a data-bound control template
  • The Show all items link for the DetailsModule is now a top-level control (outside of the FormView template), wrapped in <div class=“bottomhyperlink”>. The Edit and Insert modules do not have a Show all items link.
  • There is no longer a checkbox in the wizard for disabling the Show all items link.

Changes in the 05-12 Release


Installation

The previous release worked against the .NET Framework 3.5 RTM release, this new release works against the .NET Framework 3.5 SP1 Beta release. This was done because Dynamic Data will be part of the .NET Framework 3.5 SP1 RTM release. If you want to run Dynamic Data on the 3.5 RTM release you can download the older versions of the preview that are on the releases tab on the Code Gallery site.

You must upgrade to Visual Studio 2008 Service Pack 1 Beta or .NET Framework 3.5 Service Pack 1 Beta prior to installing the 0512 Dynamic Data Preview release. We also recommend that you first uninstall any previously installed Dynamic Data Preview drop prior to installing Service Pack 1 Beta.

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

This release contains a "Preliminary ASP.NET Documentation.chm" Windows Help 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. There is also documentation available online at: http://VS2008SP1docs.msdn.microsoft.com.

Dynamic Data Runtime

The .NET 3.5 SP1 Beta release contains the latest version of the Entity Framework. The new preview release contains support for the Entity Framework. There are both Website and Web Application Dynamic Data project templates for the Entity Framework.

Field Template controls now support a DataControl property for exposing the main control inside of the Field Template control. This can be used to directly set the main control inside of a field template from code on the ASP.NET page.

The DynamicDataManager control has been changed considerably to make it easier for 3rd party control vendors to support Dynamic Data inside their controls. Before this control made sure then when one controls such as GridView was associated with another control such as a DetailsView that the DetailsView would update whenever the GridView changed and visa versa. Now this behavior is not part of the DynamicDataManager and coded directly into the page template. The EnableQueryStringSelection property has been removed, instead when registering a control there is a Boolean field setSelectionFromUrl that allows control over which control gets its selection from the Url.

Virtual selection is a new feature that changes the selection behavior in the GridView and ListView controls. Now when a row is selected and the page is changed the same row on the new page is not selected. If the page is moved back to the page with the selected item it will still remain selected.
Brand new CSS styles have been added in this release that give a default Dynamic Data project a more refined look. Projects made using the Dynamic Data Wizard now share the exact same styles.

Dynamic Data Design-time

Web Application project templates are now included in the release. The previous release only supported Website project templates.

Changes in the 04-23 Release


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 TextAreaEdit.ascx field template has been renamed to MultilineTextEdit.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.
Last edited Jun 7 2008 at 12:40 AM  by BradMi, version 13
Updating...
Page view tracker