我试图在我的视图上只显示日期部分,我从数据库获取的值非常大,我真的不需要像hrs,mns,seconds等信息,我只对日期感兴趣,例如我想只显示:
17/04/2017
这是我到目前为止所尝试的:
<td>
@Html.DisplayFor(modelItem => ((DateTime)item.ValidFrom).ToString("dd/MM/yyyy"))
</td>
<td>
@Html.DisplayFor(modelItem => ((DateTime)item.ValidTo).ToString("dd/MM/yyyy"))
</td>
这是我的属性的DateType:
public System.DateTime ValidFrom { get; set; }
public Nullable<System.DateTime> ValidTo { get; set;
这是我得到的问题:[![在此输入图像描述] [1]] [1]
只是直接输出
您可以考虑直接输出值,如果这对您有用,而不是使用DisplayFor()
帮助器方法:
<td>
@modelItem.ValidFrom.ToString("dd/MM/yyyy")
</td>
<td>
@modelItem.ValidTo?.ToString("dd/MM/yyyy")
</td>
考虑ViewModel级格式
另一个可能更好的选择是在ViewModel本身内执行此操作,而不是在View中执行:
public System.DateTime ValidFrom { get; set; }
public Nullable<System.DateTime> ValidTo { get; set; }
// These will be formatted versions of the properties specifically for output
public string FormattedFrom => ValidFrom.ToString("dd/MM/yyyy");
public string FormattedTo => ValidTo?.ToString("dd/MM/yyyy") ?? "Present";
然后只需使用这些属性:
<td>
@Model.FormattedFrom
</td>
<td>
@Model.FormattedTo
</td>
解决方案可能看起来不太好,但我尝试过并为我工作。您可以尝试使用它以获得更快更短的时间。
@Html.FormatValue("yyy-MM-dd", item.date.ToString("yyy-MM-dd"))