DataType Enumeration


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Represents an enumeration of the data types associated with data fields and parameters.

Namespace:   System.ComponentModel.DataAnnotations
Assembly:  System.ComponentModel.DataAnnotations (in System.ComponentModel.DataAnnotations.dll)

public enum DataType

Member nameDescription

Represents a credit card number.


Represents a currency value.


Represents a custom data type.


Represents a date value.


Represents an instant in time, expressed as a date and time of day.


Represents a continuous time during which an object exists.


Represents an e-mail address.


Represents an HTML file.


Represents a URL to an image.


Represents multi-line text.


Represent a password value.


Represents a phone number value.


Represents a postal code.


Represents text that is displayed.


Represents a time value.


Represents file upload data type.


Represents a URL value.

This enumeration is used to specify the type of data to associate with a data column or a parameter. You use the DataTypeAttribute class to specify the data type you want to associate with the data field or parameter. You select the data type from this enumeration.

The DataTypeAttribute attribute lets you mark fields by using a type that is more specific than the database intrinsic types. For example, a string data field that contains e-mail addresses can be attributed with the EmailAddress type. This information can be accessed by the field templates and modify how the data field is processed.

The following table lists the data types Dynamic Data provides.

The following example uses the DataTypeAttribute to customize the display of EmailAddress data field of the customer table in the AdventureWorksLT database. The e-mail addresses are shown as hyperlinks instead of the simple text that ASP.NET Dynamic Data would have inferred from the intrinsic data type.

The example code:

  • Implements a metadata partial class for the related table and the associated metadata class.

  • Applies the DataTypeAttribute attribute to the EmailAddress data field by specifying the EmailAddress enumerated value in the associated metadata class. This indicates to the Text.ascx field template that the e-mail address display is customized.

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;

public partial class Customer


public class CustomerMetaData

    // Add type information.
    public object EmailAddress;


To compile the example code, you need the following:

  • Visual Studio 2008 Service Pack 1 or Visual Developer 2008 Express Edition Service Pack 1.

  • The AdventureWorksLT sample database. For information about how to download and install the SQL Server sample database, see Microsoft SQL Server Product Samples: Database on the CodePlex site. Make sure that you install the correct version of the sample database for the version of SQL Server that you are running (SQL Server 2005 or SQL Server 2008).

  • A Dynamic Data Web site. This enables you to create a data context for the database and the class that contains the data field to customize and the methods to override. In addition, it creates the environment in which to use the page described before. For more information, see Walkthrough: Creating a New Dynamic Data Web Site Using Scaffolding.

For the complete code example that the field template uses to customize the display of the EmailAddress data fields, see DataTypeAttribute.

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 3.0
Return to top