"asp-format" не применяется к помощникам тегов
Я столкнулся с проблемой, используя тег asp-format с элементом taghelper в моем проекте mvc 6.
Идея состоит в том, чтобы форматировать элемент ввода даты таким образом:
<input asp-for="StartDate" asp-format="{0:dd/MM/yyyy}" />
Это свойство "StartDate" находится в моей модели, объявленной таким образом:
public DateTime StartDate {get; set; }
По странной причине этот элемент никогда не отформатирован и представлен всегда так:
---> 02/29/2016 00:00:00
Поэтому я создал класс viewmodel и определил свойство для хранения модели всего человека.
public class PersonViewModel
{
public Person Johndoe {get; set; }
}
И используя этот класс в представлении, форматирование работает.
<input asp-for="Johndoe.StartDate" asp-format="{0:dd/MM/yyyy}" />
---> 29/02/2016
Ответы
Ответ 1
Вы можете предоставить формат в самой модели, например
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime StartDate {get; set; }
и, на ваш взгляд, просто
@Html.EditorFor(model=>model.StartTime)
2) Вы также можете сделать это, не указав формат даты в классе модели
@Html.TextBoxFor(m => m.StartDate, "{0:dd/MM/yyyy}")