MVC ModelMetaData属性和格式化Date的问题

Joh*_*ore 3 asp.net-mvc datetime modelmetadata data-annotations asp.net-mvc-3

我试图弄清楚如何使用MVC3 RC2和使用DataAnnotations修饰的模型格式化日期.

这是我的模特......

public class Model
{
    [Display(Name = "Date of Birth")]
    [DisplayFormat(@DataFormatString = "MM/dd/yyyy")]
    public DateTime DateOfBirth { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的控制器......

public class IndexController : Controller
{
    public ActionResult Index()
    {
        return View( new Model() {DateOfBirth = DateTime.Now});
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的看法......

@model MvcApplication6.Models.Model

@Html.LabelFor(m=>m.DateOfBirth)
@Html.TextBoxFor(m => m.DateOfBirth)
@Html.EditorFor(m => m.DateOfBirth)
Run Code Online (Sandbox Code Playgroud)

当我运行该站点时,对于两个控件,页面显示一个文本框,其中包含时间字符串,当我想要的只是日期(由模型中的装饰属性指定).

我在这个模式中使用了Brad Wilson 关于ModelMetaData 的文章.

我做错了很明显吗?

Len*_*rri 7

做这个:

[DisplayName("Date of Birth")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime DateOfBirth { get; set; }
Run Code Online (Sandbox Code Playgroud)