【发布时间】:2011-11-11 12:40:45
【问题描述】:
我正在使用 asp.net mvc3 中的 razor 视图引擎。
现在,我需要一个 DateTime 的输入,它应该以固定格式显示值(比如 dd-MMM-yyyy)。所以我可以这样做:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MMM-yyyy}")]
public DateTime StartDate { get; set; }
在视图中:
@Html.EditorFor(model => model.StartDate)
但我需要在输入中添加一个类。我认为在EditorFor 中是不可能的。
所以我可以使用
@Html.TextBoxFor(model => model.StartDate, new { @class = "Date" })
但是这种情况下显示格式不起作用。
Model 可以为空。所以,
@Html.TextBox("StartDate", string.Format("{0:dd-MMM-yyyy}", Model.StartDate))
将抛出NullReferenceException。
【问题讨论】:
-
为什么第一个不能添加类???
@Html.TextBoxFor(model => model.StartDate, new { @class = "Date" })你的日期可以返回空值吗?我认为例外是因为你的日期可能为空 -
感谢
ApplyFormatInEditMode。我错过了那个参数。
标签: asp.net-mvc-3 razor editorfor date-formatting