"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}")