尝试在剃刀代码中将日期时间转换为短日期字符串



目前我的日期时间在我的视图示例中显示为:03/08/2017 00:00:00。我希望它显示如下:03/08/2017,而不显示时间。这是我当前的视图代码

@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.DayOfMonth)
</td>
<td>
@Html.DisplayFor(modelItem => item.TimeSpent) hr
</td>
<td>
@Html.DisplayFor(modelItem => item.Project.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Task.Name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.IdTimeSheet_Details }) |
@Html.ActionLink("Details", "Details", new { id = item.IdTimeSheet_Details }) |
@Html.ActionLink("Delete", "Delete", new { id = item.IdTimeSheet_Details })
</td>
</tr>
}

到目前为止我尝试过:

@Html.DisplayFor(modelItem => item.DayOfMonth, "{0:MM/dd/yyyy}")
@Html.DisplayFor(modelItem => item.DayOfMonth.Date.ToString("dd MMM yyyy"))
@Html.DisplayFor(modelItem => item.DayOfMonth.Value.ToString("dd. MM. yyyy"))
@Html.DisplayFor(modelItem => item.DayOfMonth.ToShortDateString() : string.Empty))
@Html.DisplayFor(modelItem => item.DayOfMonth.ToString("dd MMM yyyy"))
@Html.DisplayFor(modelItem => item.DayOfMonth.Value.ToString("dd - M - yy"))

以上这些都不起作用。有人可以告诉我我做错了什么吗? 我得到的解释是

模板只能与字段访问、属性访问、 一维数组索引或单参数自定义索引器 表达 式

但我真的看不出我与下面帖子中的人有什么不同:

我从哪里得到我尝试过的大部分东西

我检查过的其他帖子

你需要只使用

<td>item.DayOfMonth.ToString("dd MMM yyyy")</td>

或者,如果要使用DisplayFor(),则应用

[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
public DateTime DayOfMonth { get; set; }

到您的财产和视野中

<td>@Html.DisplayFor(modelItem => item.DayOfMonth)</td>

最新更新