我的Razor表单代码
<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,我想将日期抑制为空白。我怎么能这样做?
答案 0 :(得分:2)
对于普通的DateTimes,如果你根本没有初始化它们,那么它们将匹配DateTime.MinValue,因为它是值类型而不是引用类型。
你也可以使用可以为空的DateTime,如下所示:
DateTime? MyNullableDate;
或更长的形式:
Nullable<DateTime> MyNullableDate;
或使用:
private DateTime? _achPayDate = null;
public DateTime? achPayDate { get {return _achPayDate ; } set{_achPayDate = value;} }
答案 1 :(得分:2)
您可以执行以下操作
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
wv = new QWebView;
wv->setParent(this);
wv->load(QUrl("https://www.tumblr.com"));
}
DisplayTemplates
文件夹下创建新视图,并将其命名为DisplayTemplates
Date.cshtml
的代码Date.cshtml
模型
的代码@model DateTime?
@if(Model!=null && Model!=DateTime.MinValue)
{
@string.Format("{0:MM/dd/yyyy}",Model)
}
这种方式会使所有带有数据注释{Date}的DateTime遵循相同的行为,同样也可以对[DataType(DataType.Date)]
public DateTime? achPayDate { get; set; }
您可以获得有关[DataType(DataType.Date)]
和EditorTemplates
here
希望这会对你有所帮助
答案 2 :(得分:-1)
我在网络网格列中添加了如下内容
grid.Column("Note Date",
style: "width:159px",
format: @<text>
@if (item.NoteDate == DateTime.MinValue)
{
}
else
{
@string.Format("{0:MM/dd/yyyy}", item.NoteDate)
}
</text>)