C# 如何更改类型=";日期时间“;到HTML5标准类型=";日期“;在没有自定义编辑器模板的情况下使用MVC EditorFor时?
我有一个ASP.NETMVC5应用程序。日期字段非常丰富。一切正常运行,但是W3C标记验证程序抱怨日期文本字段的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”值不再是标准值。支持的日期/时间类型包括: 日期-没有时区的日期(年、月、日) 时间-没有时区的时间(小时、分钟、秒、
类型属性值不正确
我正在使用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框架的默认行为。。。