C# 如何更改类型=";日期时间“;到HTML5标准类型=";日期“;在没有自定义编辑器模板的情况下使用MVC EditorFor时?

C# 如何更改类型=";日期时间“;到HTML5标准类型=";日期“;在没有自定义编辑器模板的情况下使用MVC EditorFor时?,c#,asp.net-mvc,html,datetime,asp.net-mvc-5,C#,Asp.net Mvc,Html,Datetime,Asp.net Mvc 5,我有一个ASP.NETMVC5应用程序。日期字段非常丰富。一切正常运行,但是W3C标记验证程序抱怨日期文本字段的类型属性值不正确 我正在使用EditorFor帮助程序为DateTime或可为空的DateTime属性呈现输入: @Html.EditorFor(model => model.BeginDate) 这将转化为: 根据定义,type属性的“datetime”值不再是标准值。支持的日期/时间类型包括: 日期-没有时区的日期(年、月、日) 时间-没有时区的时间(小时、分钟、秒、

我有一个ASP.NETMVC5应用程序。日期字段非常丰富。一切正常运行,但是W3C标记验证程序抱怨日期文本字段的
类型
属性值不正确

我正在使用
EditorFor
帮助程序为
DateTime
或可为空的
DateTime
属性呈现
输入

@Html.EditorFor(model => model.BeginDate)
这将转化为:


根据定义,
type
属性的“datetime”值不再是标准值。支持的日期/时间类型包括:

  • 日期-没有时区的日期(年、月、日)
  • 时间-没有时区的时间(小时、分钟、秒、分秒)
我真的不想创建自定义编辑器模板,因为标准的MVC编辑器模板工作得非常好,除了
type=“datetime”
属性值是非标准的


如何覆盖DateTime对象的
EditorFor
方法的默认行为,以便它在不创建自己的编辑器模板的情况下创建
元素?

使用数据类型属性注释模型字段

public class Model1
{
    [DataType(DataType.Date)]
    public DateTime BegineDate { get; set; }
}

用DataType属性注释模型字段

public class Model1
{
    [DataType(DataType.Date)]
    public DateTime BegineDate { get; set; }
}

这不是一个复制品。该链接仅讨论显示短日期字符串。这与输入标记具有正确的html5数据类型无关。@EhsanSajjad:我同意Fran的观点。这与显示无关,与呈现的HTML无关。然后投票赞成重新打开:)@EhsanSajjad:我投票赞成重新打开问题。:)我也是……这不是我的复制品。该链接仅讨论显示短日期字符串。这与输入标记具有正确的html5数据类型无关。@EhsanSajjad:我同意Fran的观点。这与显示无关,与呈现的HTML无关。然后投票赞成重新打开:)@EhsanSajjad:我投票赞成重新打开问题。:)我也这样做了……哪个名称空间是
数据类型
枚举?我无法将该符号解析为当前项目中的命名空间。我想知道是否缺少程序集引用;不要介意。我想出来了。我使用的是NHibernate,它有一个类NHibernate.Type.DataType,然后是System.ComponentModel.DataAnnotations.DataType。我的问题是名称空间的冲突。VisualStudio在我的电脑上变得很奇怪。工作得很好!现在让Microsoft更改MVC框架的默认行为…哪个名称空间是
DataType
enum?我无法将该符号解析为当前项目中的命名空间。我想知道是否缺少程序集引用;不要介意。我想出来了。我使用的是NHibernate,它有一个类NHibernate.Type.DataType,然后是System.ComponentModel.DataAnnotations.DataType。我的问题是名称空间的冲突。VisualStudio在我的电脑上变得很奇怪。工作得很好!现在让微软改变MVC框架的默认行为。。。