1

我正在寻找显示允许用户编辑日期时间值的 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)

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

视觉表现

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

编辑时出错时的可视化表示

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

我希望日期格式的 '/'、':' 和 ' '(空格)值保持不变,并且用户键入的文本可以填补空白。我在其他网站上看过它,但似乎找不到它的 MVC/Razor 代码。

4

1 回答 1

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

于 2018-04-06T10:38:11.947 回答