I got a property in my model which is a DateTime
. I would like to get an empty <input />
(instead of one containing '0001-01-01 00:00:00' ) if the property contains DateTime.MinValue
.
Is that possible?
One solution I've found working for me was to add strongly typed partial view (for System.DateTime
) and put it in Views/Shared/EditorTemplates
directory. File DateTime.cshtml
looks pretty much like this:
@model System.DateTime
@Html.TextBox("", Model == DateTime.MinValue ? "" : Model.ToShortDateString())
This will however format all your DateTime fields.
More information can be found in this article.
Write an extension helper method:
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
}
}
Then, from you view:
<%= Html.MyEditor(Model.YourDateTimeField) %>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.