using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;
[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
}
public class CustomerMetaData
{
RangeAttribute 类
[Range(10, 1000,
ErrorMessage = "Value for {0} must be between {1} and {2}.")]
public object Weight;
[Range(300, 3000)]
public object ListPrice;
[Range(typeof(DateTime), "1/2/2004", "3/4/2004",
ErrorMessage = "Value for {0} must be between {1} and {2}")]
public object SellEndDate;
DataTypeAttribute 类
// Add type information.
[DataType(DataType.EmailAddress)]
public object EmailAddress;
RegularExpressionAttribute 类
// Allow up to 40 uppercase and lowercase
// characters. Use custom error.
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$",
ErrorMessage = "Characters are not allowed.")]
public object FirstName;
// Allow up to 40 uppercase and lowercase
// characters. Use standard error.
[RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")]
public object LastName;
}
DisplayFormatAttribute类
public class ProductMetaData
{
// Applying DisplayFormatAttribute
// Display the text [Null] when the data field is empty.
// Also, convert empty string to null for storing.
[DisplayFormat(ConvertEmptyStringToNull = true, NullDisplayText = "[Null]")]
public object Size;
// Display currency data field in the format $1,345.50.
[DisplayFormat(DataFormatString="{0:C}")]
public object StandardCost;
// Display date data field in the short format 11/12/08.
// Also, apply format in edit mode.
[DisplayFormat(ApplyFormatInEditMode=true, DataFormatString = "{0:d}")]
public object SellStartDate;
}
DisplayColumnAttribute 类
[DisplayColumn("City", "PostalCode", false)]
public partial class Address
{
}
[DisplayColumn("LastName")]
public partial class Customer
{
}
EnumDataTypeAttribute 类
public enum ReorderLevel
{
Zero = 0,
Five = 5,
Ten = 10,
Fifteen = 15,
Twenty = 20,
TwentyFive = 25,
Thirty = 30
}
[MetadataType(typeof(ProductMD))]
public partial class Product
{
public class ProductMD
{
[EnumDataType(typeof(ReorderLevel))]
public object ReorderLevel { get; set; }
}
}
StringLengthAttribute 类
[MetadataType(typeof(ProductMetadata))]
public partial class Product
{
}
public class ProductMetadata
{
[ScaffoldColumn(true)]
[StringLength(4, ErrorMessage = "The ThumbnailPhotoFileName value cannot exceed 4 characters. ")]
public object ThumbnailPhotoFileName;
[ScaffoldColumn(true)]
[StringLength(4, ErrorMessage = "The {0} value cannot exceed {1} characters. ")]
public object PhotoFileName;
}