<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3" -->

---
title: ASP.NET MVC 2 Preview 1 released! | daily.dev
description: ASP.NET MVC 2 Preview 1 has shipped, announced via Phil Haack's blog post with an updated roadmap posted on CodePlex. New features covered include templated...
canonical: https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: ASP.NET MVC 2 Preview 1 released! | daily.dev
og:description: ASP.NET MVC 2 Preview 1 has shipped, announced via Phil Haack's blog post with an updated roadmap posted on CodePlex. New features covered include templated...
og:url: https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3
og:image: https://api.daily.dev/og/posts/FBQ9LMZR3.png
og:image:alt: ASP.NET MVC 2 Preview 1 released!
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ASP.NET MVC 2 Preview 1 released!

**[Maarten Balliauw](https://daily.dev/sources/maartenballiauw)** · 3 min read · 0 upvotes · 0 comments

## Summary

ASP.NET MVC 2 Preview 1 has shipped, announced via Phil Haack's blog post with an updated roadmap posted on CodePlex. New features covered include templated helpers (customizable default controls for data types, similar to ASP.NET Dynamic Data, configurable per-property via UIHint), native support for Areas to split large applications into logical subsections, DataAnnotations-based model validation during model binding, a new shorthand [HttpPost] attribute replacing [AcceptVerbs(HttpVerbs.Post)], and a DefaultValueAttribute for specifying default parameter values on action methods for primitive types.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.maartenballiauw.be/posts/2009-07-31-aspnet-mvc-2-preview-1-released>

## Questions this post answers

### What new features does ASP.NET MVC 2 Preview 1 add?

ASP.NET MVC 2 Preview 1 adds templated helpers for customizing how data types render in views, native support for Areas to split large applications into subsections, DataAnnotations-based validation during model binding, a shorthand [HttpPost] attribute replacing [AcceptVerbs(HttpVerbs.Post)], and a DefaultValueAttribute for default action parameter values on primitive types.

_Teams planning an MVC upgrade can track framework changes like these on daily.dev._

### How do templated helpers work in ASP.NET MVC 2?

Templated helpers let you define a default control for rendering a data type across an entire application, similar to the approach used in ASP.NET Dynamic Data. For example, creating Views\Shared\DisplayTemplates\String.ascx controls how every System.String is rendered via Html.DisplayFor, and a UIHint attribute on a model property can override the default template per field.

_Developers evaluating MVC view patterns can follow practical breakdowns like this on daily.dev._

### How does ASP.NET MVC 2 validate models using DataAnnotations?

ASP.NET MVC 2's default model binder uses the System.ComponentModel.DataAnnotations namespace, previously used by ASP.NET Dynamic Data and RIA Services, to validate data automatically at binding time. Developers decorate model properties with attributes like [Required] and [StringLength], and validation then occurs automatically when the model binder binds data inside a controller action.

_Developers wiring up model validation can compare framework approaches like this on daily.dev._

## Similar posts on daily.dev

- [.NET 11 Preview 2 is now available\!](https://daily.dev/posts/net-11-preview-2-is-now-available--iazytiw2q) · .NET Blog · 21 upvotes · 0 comments
- [Microsoft Releases .NET 11 Preview 6 With Language and Framework Updates](https://daily.dev/posts/microsoft-releases-net-11-preview-6-with-language-and-framework-updates-oqwjdzv3l) · InfoQ · 6 upvotes · 0 comments
- [.NET 11 Preview 2 Brings Performance Gains, Improved Mapping, and Native OpenTelemetry Support](https://daily.dev/posts/net-11-preview-2-brings-performance-gains-improved-mapping-and-native-opentelemetry-support-1t5uposcx) · InfoQ · 6 upvotes · 0 comments

---

Tags: [#.net](https://daily.dev/tags/.net), [#c#](https://daily.dev/tags/c#)

[View this post on daily.dev](https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"ASP.NET MVC 2 Preview 1 released!","url":"https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3"},"datePublished":"2026-10-04T13:04:48.691Z","dateModified":"2026-10-04T13:06:12.856Z","description":"ASP.NET MVC 2 Preview 1 has shipped, announced via Phil Haack's blog post with an updated roadmap posted on CodePlex. New features covered include templated...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/382f83f2d7f1f9e0880b74865fec1001?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/382f83f2d7f1f9e0880b74865fec1001?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Maarten Balliauw","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Maarten Balliauw","logo":"https://media.daily.dev/image/upload/s--rOTg3VYO--/f_auto,q_auto/v1791119043/logos/maartenballiauw?_a=BAMAMicg0","url":"https://daily.dev/sources/maartenballiauw"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":".net,c#","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Maarten Balliauw","item":"https://daily.dev/sources/maartenballiauw"},{"@type":"ListItem","position":3,"name":"ASP.NET MVC 2 Preview 1 released!"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/asp-net-mvc-2-preview-1-released--fbq9lmzr3#faq","mainEntity":[{"@type":"Question","name":"What new features does ASP.NET MVC 2 Preview 1 add?","acceptedAnswer":{"@type":"Answer","text":"ASP.NET MVC 2 Preview 1 adds templated helpers for customizing how data types render in views, native support for Areas to split large applications into subsections, DataAnnotations-based validation during model binding, a shorthand [HttpPost] attribute replacing [AcceptVerbs(HttpVerbs.Post)], and a DefaultValueAttribute for default action parameter values on primitive types. Teams planning an MVC upgrade can track framework changes like these on daily.dev."}},{"@type":"Question","name":"How do templated helpers work in ASP.NET MVC 2?","acceptedAnswer":{"@type":"Answer","text":"Templated helpers let you define a default control for rendering a data type across an entire application, similar to the approach used in ASP.NET Dynamic Data. For example, creating Views\\Shared\\DisplayTemplates\\String.ascx controls how every System.String is rendered via Html.DisplayFor, and a UIHint attribute on a model property can override the default template per field. Developers evaluating MVC view patterns can follow practical breakdowns like this on daily.dev."}},{"@type":"Question","name":"How does ASP.NET MVC 2 validate models using DataAnnotations?","acceptedAnswer":{"@type":"Answer","text":"ASP.NET MVC 2's default model binder uses the System.ComponentModel.DataAnnotations namespace, previously used by ASP.NET Dynamic Data and RIA Services, to validate data automatically at binding time. Developers decorate model properties with attributes like [Required] and [StringLength], and validation then occurs automatically when the model binder binds data inside a controller action. Developers wiring up model validation can compare framework approaches like this on daily.dev."}}]}
```

