我的模型中有一个属性DateTime
。如果属性包含{{},我想获得一个空的<input />
(而不是包含 '0001-01-01 00:00:00' 的空文件) 1}}。
这可能吗?
答案 0 :(得分:7)
我发现为我工作的一个解决方案是添加强类型部分视图(对于System.DateTime
)并将其放在Views/Shared/EditorTemplates
目录中。文件DateTime.cshtml
看起来非常像这样:
@model System.DateTime
@Html.TextBox("", Model == DateTime.MinValue ? "" : Model.ToShortDateString())
然而,这将格式化所有DateTime字段。
更多信息可在this文章中找到。
答案 1 :(得分:2)
编写extension helper方法:
public static class DateTimeHelper
{
public static string MyEditor(this HtmlHelper helper, DateTime date)
{
if (date.Equals(DateTime.MinValue))
{
// return your an empty input: helper.TextBox ...
}
// return helper.EditorFor your datetime
}
}
然后,从你看来:
<%= Html.MyEditor(Model.YourDateTimeField) %>