我正在使用 Visual Studio 2015,并且在我的 MVC5 应用程序中使用其默认日期时间选择器。我在显示日期时间选择器时遇到问题。它仅显示日期选择器而不显示时间选择器。但我也需要时间选择器。这是我在模型中的 datetimepicker 代码
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = false)]
[Required(ErrorMessage = "Start DateTime is required")]
public Nullable<System.DateTime> start_date_time { get; set; }
当我设置时DateTime
代替Date
没有控制器,仅出现文本框。
没有MVC5 中的默认日期时间选择器。什么是[DataType]
属性的作用是渲染type
属性为<input>
您生成的元素将被浏览器用来呈现适当的 HTML5 控件(如果支持)。如果是DataType.Date
,它生成<input type="date" ... />
目前只有最新版本的 Chrome 支持type="date"
。如果您使用 IE 或 FireFox 进行测试,您只会得到一个标准文本框。
Using [DataType(DataType.DateTime)]
产生type="datetime"
但目前 Chrome、IE 或 FireFox 均不支持此功能,这就是为什么您只能看到标准文本框。
不过,最新版本的 Chrome 确实支持type="datetime-local"
这将呈现一个控件,允许您选择日期和时间。没有[DataType]
生成此类型的类型,但您可以使用
@Html.TextBoxFor(m => m.start_date_time, "{0:s}", new { @type = "datetime-local" })
Note "{0:s"}
是简写"{0:yyyy-MM-ddTHH:mm:ss}"
您可以使用不同版本的浏览器以及它们支持的 HTML5 字段类型进行比较这个网站 https://html5test.com/compare/browser/chrome-44/firefox-40/ie-11.html.
由于当前的支持有限,我建议您考虑使用 jquery datetimepicker 插件而不是浏览器 HTML 实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)