我正在尝试填充@Html.EditorFor
助手。我使用以下属性创建了一个视图模型
[DataType(DataType.Date, ErrorMessage="Date only")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)]
public DateTime? YearBought { get; set; }
我的助手设置如下
@Html.ValidationMessageFor(m => m.YearBought)
@Html.EditorFor(model => model.YearBought, new { @type = "date" })
我也尝试过(b)
@Html.ValidationMessageFor(m => m.YearBought)
@Html.EditorFor(model => model.YearBought.Value.Date)
使用上述格式(a)不会显示任何内容。使用上述格式(b)12/05/2014 00:00:00
以文本框格式显示。
我正在尝试实现不显示时间的日期选择器格式
我已经审查了其他几个问题,但看不到我做了什么不同的事情。
当我查看数据库时,该值另存为2014-05-12
,当我保存该值时,EditorFor helper生成所需的输入工具
EDIT刚刚在chrome开发工具中打开了控制台,因此此消息
指定的值“ 12/05/14”不符合要求的格式“ yyyy-MM-dd”
我以为DisplayFormat(DataFormatString = "{0:dd/MM/yy}"
正在定义如何显示我的日期?
使用时需要使用ISO格式 type="date"
[DataType(DataType.Date, ErrorMessage="Date only")]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? YearBought { get; set; }
这将在浏览器区域性中显示日期。
请注意,无需添加@type = "date"
。该EditorFor()
方法将由于该DataType
属性而添加该属性。另请注意,type="date"
仅Chrome支持该功能(FireFox和IE只会生成普通文本框)
如果确实要dd/MM/yyyy
在标准文本框中显示格式,则可以使用
@Html.TextBoxFor(m => m.YearBought, "{0:dd/MM/yyyy}")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句