MVC4 razor Html.LabelFor for a Nullable<System.DateTime&g

本文关键字:lt DateTime System Nullable Html razor LabelFor for MVC4 | 更新日期: 2023-09-27 18:18:12

我在我的模型中有这个属性:

[DisplayName("Birth Date")]
public Nullable<System.DateTime> dtnasc { get; set; }

使用on查看htmlhelper

 @Html.LabelFor(_ => _.dtnasc)
可空对象必须有一个值

当属性dtnasc的值为null时,如何获得DisplayName元数据?

MVC4 razor Html.LabelFor for a Nullable<System.DateTime&g

在视图中似乎缺少模型名称。

请确保在视图中添加了以下行。

@ model SolutionName.modelName

"你一定是哪里出了问题"

问题在下一行,但错误总是指向@Html行。LabelFor

显然我不能在null属性中使用ToString(…)

@Html.LabelFor(_ => _.dtnasc)
<input type="text" id="dtnasc" name="dtnasc" value="@Model.dtnasc.Value.ToString("yyyy/MM/dd")" />

为了解决这个问题,我做了

on model添加DisplayFormat来格式化日期:

[DisplayName("Birth Date")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> dtnasc { get; set; }

和视图上,我改变了Helper输入的标签。编辑器:

@Html.LabelFor(_ => _.dtnasc)
@Html.EditorFor(_ => _.dtnasc)