将DisplayFormat数据注释设置在模型属性的上方。
public class User
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)]
public DateTime Birthdate { get; set; }
...
}
。然后,而不是使用@Html.TextBoxFor(..)
使用@Html.EditorFor(...)
。
查看DisplayFormatAttribute MSDN page了解更多详情。
如果您使用EF生成了您的数据模型,您可以简单地为您的类创建一个元类以应用数据注释。例如,如果我的db文件被称为MyDB.edmx
,请创建一个名为MyDB.cs
的伙伴类文件。然后里面就有,我会在元类元数据类连接到它,并指定数据注释扩展User
类:
[MetadataType(typeof(UserMetaData))]
public partial class User{ }
public class UserMetaData
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)]
public DateTime Birthdate { get; set; }
}
,如果我们使用的是图形化的工具见Scott Gu's post on validation,主要是部分“但是什么对于我们的ORM映射?'。
你的方法似乎很简单,但在这种情况下,我的TextBoxFor内容将与这一个混合。我如何在我的控制器中获取这些数据? –