MVC 5 Создать редактор фиксированного формата для даты и времени
Я ищу правильный способ отображения TextBox, который позволяет пользователю редактировать значение даты и времени.
В настоящее время я могу отображать значение, как я хочу, используя DataAnnotations.
[DisplayFormat(DataFormatString = "{0:{0:HH:mm:ss dd/MM/yyyy}}", ApplyFormatInEditMode = true)]
public DateTime TimeStamp_Start { get; set; }
MVC/Razor:
@Html.EditorFor(m => m.TimeStamp_Start)
И тогда я получаю правильный визуальный эффект:
Но проблема сейчас в том, что это можно редактировать в неправильном формате, как показано ниже:
Как я могу создать объект @Html.EditorFor, который показывает дату как на первом изображении, но при редактировании позволяет только заполнить этот формат: {xx/xx/xxxx xx:xx:xx}?
Я хочу, чтобы значения '/', ':' и ' ' (пробел) формата даты оставались на месте, а текст, который пользователь вводит, чтобы заполнить пробелы. Я видел это на других сайтах, но не могу найти код MVC/Razor для него.
1 ответ
Пожалуйста, удалите аннотацию данных и используйте ее в cshtml
@Html.TextBoxFor(x => x.TimeStamp_Start, new { type="date" })
которые отображают тип ввода html5. Вы можете использовать datetime-local, чтобы получить машинное время пользователя.
проверьте тип ввода html здесь https://www.w3schools.com/html/html_form_input_types.asp