I'm facing a problem using "asp-format" tag with taghelper element in my mvc 6 project.
The idea is to format a date input element this way:
<input asp-for="StartDate" asp-format="{0:dd/MM/yyyy}" />
This "StartDate" property is in my model, declared this way:
public DateTime StartDate {get; set; }
For a strange reason, this element is never formatted, and is presented always like this:
---> 02/29/2016 00:00:00
So I created a viewmodel class and defined a property to hold the entire person model.
public class PersonViewModel
{
public Person Johndoe {get; set; }
}
And using this class in the view, the formatting works.
<input asp-for="Johndoe.StartDate" asp-format="{0:dd/MM/yyyy}" />
---> 29/02/2016
You can provide the format in model itself like
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate {get; set; }
and in your view simply like
@Html.EditorFor(model=>model.StartTime)
2) You can also do this without providing date format in model class
@Html.TextBoxFor(m => m.StartDate, "{0:dd/MM/yyyy}")