-1

我希望我的输入显示为 dd/mm/yyyy,默认情况下如何更改?

-

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "dd/MM/yyyy")]
public DateTime Date{ get; set; }

html

<input asp-for="Process.Date" class="form-control" />
4

1 回答 1

2

我假设您实际上指的是 HTML5 日期输入以及浏览器如何呈现它。您看到的是本地化的,但它是根据客户端计算机上设置的文化进行本地化的。换句话说,您无法从服务器控制它。这实际上是它应该的方式。最终用户决定他们自己的文化偏好。此外,日期输入类型不支持任何日期格式,但 ISO (YYYY-MM-DD)。传递以任何其他方式格式化的日期将被视为空值。

如果您不希望这种行为,您唯一的选择是使用常规文本输入,您可以通过手动指定type属性来实现:

<input type="text" asp-for="Process.Date" class="form-control" />

但是,当您这样做时,它只是一个常规的文本输入。您将无法获得日期选择器控件、验证等。如果您愿意,您需要依靠第三方 JS 库在客户端重新添加此功能。

于 2020-01-10T16:20:01.237 回答