在html文本框mvc中使用短日期字符串

CR4*_*G14 2 c# asp.net-mvc asp.net-mvc-3

我有一个模型如下,我使用Linq to SQL

public class CustomerDetails
    {
        public Customer customer { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

"客户"由数据库中的单个客户填充.客户有一个字段"NextEmailDate".我想将它绑定到textBox但只显示日期而不是时间

@Html.TextBoxFor(m=> m.Customer.NextEmailDate)
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个带有文本的文本框16/09/2012 00:00:00如何才能使这个只是16/09/2012?

Jam*_*mes 8

假设Customer是您的实际实体,请引入视图模型并将其传递给您的视图.这样你可以用你需要的所有格式/验证属性来装饰它,例如

public class CustomerViewModel
{
    [Required(ErrorMessage = "Next email date is required!")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}"]
    public DateTime NextEmailDate { get; set; }
    ...
}

public class CustomerDetails
{
    public CustomerViewModel Customer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

您可以手动映射属性或使用AutoMapper之类的库.