ton*_*9uk 2 asp.net-mvc asp.net-mvc-4
我正在尝试填充@Html.EditorFor助手.我创建了一个具有以下属性的视图模型
[DataType(DataType.Date, ErrorMessage="Date only")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yy}", ApplyFormatInEditMode = true)]
public DateTime? YearBought { get; set; }
Run Code Online (Sandbox Code Playgroud)
我的助手设置如下(a)
@Html.ValidationMessageFor(m => m.YearBought)
@Html.EditorFor(model => model.YearBought, new { @type = "date" })
Run Code Online (Sandbox Code Playgroud)
我也试过(二)
@Html.ValidationMessageFor(m => m.YearBought)
@Html.EditorFor(model => model.YearBought.Value.Date)
Run Code Online (Sandbox Code Playgroud)
使用上述格式(a)不显示任何内容.使用上述格式(b)12/05/2014 00:00:00以文本框格式显示.
我试图实现一个没有时间显示的datepicker格式
我已经回顾了其他几个问题但是看不出我做了什么不同.
当我查看我的数据库时,值保存为2014-05-12,当我保存值时,EditorFor帮助程序生成所需的输入工具
编辑刚刚在chrome dev工具中打开控制台,所以这条消息
指定值"12/05/14"不符合所需格式,"yyyy-MM-dd"
我以为DisplayFormat(DataFormatString = "{0:dd/MM/yy}"是在定义如何显示我的约会?
小智 7
使用时需要使用ISO格式 type="date"
[DataType(DataType.Date, ErrorMessage="Date only")]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime? YearBought { get; set; }
Run Code Online (Sandbox Code Playgroud)
这将在浏览器文化中显示日期.
注意没有必要添加@type = "date".该EditorFor()方法将添加因为DataType属性.另请注意,type="date"仅在Chrome中支持(FireFox和IE只会生成普通文本框)
如果您确实希望dd/MM/yyyy在标准文本框中显示格式,则可以使用
@Html.TextBoxFor(m => m.YearBought, "{0:dd/MM/yyyy}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11016 次 |
| 最近记录: |