MVC DisplayFormat

Open the Movie.cs file. The System.ComponentModel.DataAnnotations namespace provides formatting attributes in addition to the built-in set of validation attributes. You'll apply the DisplayFormat attribute and a DataType enumeration value to the release date and to the price fields. The following code shows the ReleaseDate and Price properties with the appropriate DisplayFormat attribute.

         [DataType(DataType.Date)]  
        public DateTime ReleaseDate { get; set; } 
        
        [DataType(DataType.Currency)]  
        public decimal Price { get; set; }

Alternatively, you could explicitly set a DataFormatString value. The following code shows the release date property with a date format string (namely, "d"). You'd use this to specify that you don't want to time as part of the release date.

        [DisplayFormat(DataFormatString = "{0:d}")] 
       public DateTime ReleaseDate { get; set; }

The following code formats the Price property as currency.

        [DisplayFormat(DataFormatString = "{0:c}")] 
       public decimal Price { get; set; }

The complete Movie class is shown below.

public class Movie 
{ 
    public int ID { get; set; } 
 
    [Required(ErrorMessage = "Title is required")] 
    public string Title { get; set; } 
 
    [Required(ErrorMessage = "Date is required")] 
    [DisplayFormat(DataFormatString = "{0:d}")] 
    public DateTime ReleaseDate { get; set; } 
 
    [Required(ErrorMessage = "Genre must be specified")] 
    public string Genre { get; set; } 
 
    [Required(ErrorMessage = "Price Required")] 
    [Range(1, 100, ErrorMessage = "Price must be between $1 and $100")] 
    [DisplayFormat(DataFormatString = "{0:c}")] 
    public decimal Price { get; set; } 
 
    [StringLength(5)] 
    public string Rating { get; set; } 
posted @ 2011-07-04 13:33  Ken-Cai  阅读(2587)  评论(0编辑  收藏  举报