MVC 5为datetime创建固定格式编辑器

时间:2018-04-06 10:21:19

标签: c# razor asp.net-mvc-5 editorformodel

我正在搜索显示TextBox的正确方法,该方法允许用户编辑日期时间值。

目前,我可以使用DataAnnotations显示我想要的值。

[DisplayFormat(DataFormatString = "{0:{0:HH:mm:ss dd/MM/yyyy}}", ApplyFormatInEditMode = true)]
public DateTime TimeStamp_Start { get; set; }

MVC /剃须刀:

@Html.EditorFor(m => m.TimeStamp_Start)

然后我得到了正确的视觉效果:

Visual representation

但现在的问题是,这可编辑为错误的格式,如下所示:

Visual representation of when it goes wrong when editing

如何创建一个@ Html.EditorFor对象,在第一张图片中显示日期,但只在编辑时允许填写此格式:{xx / xx / xxxx xx:xx:xx}?

我想要' /',':'和' ' (空格)保持日期格式的值和用户键入的文本以填补空白。 我在其他网站上看过它,但似乎无法找到它的MVC / Razor代码。

1 个答案:

答案 0 :(得分:0)

请删除数据注释 并在cshtml中使用它

 @Html.TextBoxFor(x => x.TimeStamp_Start, new { type="date" })

渲染html5输入类型。 您可以使用datetime-local来获取用户机器时间。

从这里检查html输入类型 https://www.w3schools.com/html/html_form_input_types.asp