我的剃刀表单代码
<div class="form-group">
@Html.LabelFor(model => model.achPayDate, htmlAttributes: new { @class = "control-label col-md-7" })
@Html.DisplayFor(model => model.achPayDate, new {@class="date"})
</div>
我的cs代码
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? achPayDate { get; set; }
当achPayDate = 0001-01-01T00:00:00时,显示01/01/0001,我想取消日期为空白。我怎样才能做到这一点??
最佳答案
您可以执行以下操作
在您的MVC项目=>视图=>共享中,创建新文件夹DisplayTemplates
在DisplayTemplates
文件夹下创建新视图,并将其命名为Date.cshtml
Date.cshtml的代码
@model DateTime?
@if(Model!=null && Model!=DateTime.MinValue)
{
@string.Format("{0:MM/dd/yyyy}",Model)
}
您模型的代码
[DataType(DataType.Date)]
public DateTime? achPayDate { get; set; }
这种方式将使所有带有数据注释
[DataType(DataType.Date)]
的DateTime遵循相同的行为,并且您也可以对EditorTemplates
执行相同的操作您可以获得有关
EditorTemplates
和DisplayTemplates
here的更多信息希望能帮到你
关于c# - 将MVC默认日期(01/01/0001)设置为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39582419/