The ASP.NET MVC RC build includes automatic "UI
scaffolding" support when creating views using the new ASP.NET MVC
"Add View" command inside Visual Studio. The scaffolding
support enables the automatic generation of views against any .NET type or
object - meaning it can work against POCO classes, LINQ to SQL, LINQ to
Entities, NHibernate, SubSonic, LLBLGen Pro, or any other object model. The
scaffolding engine uses reflection to retrieve the public shape of a View's
model type, and then passes it to a scaffolding template to populate
appropriate markup based on it within the view being created.
For example, assume we have a ProductsController class and
want to create an "Edit" action on it to display an edit view of a
particular Product. Using the RC build we can right-click within our
"Edit" action method and choose the "Add View" context menu
command like so:
Figure 9

Within the "Add View" dialog we can then indicate
that we are passing a "Product" type to our View:
Figure 10

We can indicate that we want an "Empty" view
template created (like above), or indicate that we want VS to automatically
scaffold a form "Edit" view for the Product object we are supplying:
Figure 11

If we choose the "Edit" template VS will
automatically generate a file for us that has the appropriate HTML and
validation helpers to create an editable form view:
Figure 12

We can then run the application and immediately get edit UI:
Figure 13

We can then go in and change the generated edit.aspx file
however we want to tweak/customize it.
One of the really nice things about the scaffolding system
we are shipping is that it is implemented using Visual Studio's built-in T4
code generation system (Scott Hanselman has a nice post about this here). The "List", "Edit",
"Create" and "Details" templates we ship with ASP.NET MVC
can all be completely customized or replaced with T4 templates of your own (or
downloaded from the ASP.NET MVC Design Gallery). So if you have your own
particular way of creating HTML, or want to use custom HTML helpers (for
example: strongly-typed expression based ones) you can update the default
templates and the scaffolding system will use them going forward.
We are planning to enable the templates to be overriden both
on a machine-wide level, as well as on a per-project level (so that you can
check-in application-specific scaffolding templates under source control and
share them across a team).