Asp.net 更改日期时间分隔符

Asp.net 更改日期时间分隔符,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我是ASP.NET新手,我想更改DateTime变量的格式。她在模型文件中输入了我的代码: ... namespace ProjectMVC.Models { public class EventDetails { [Required] [DisplayFormat(DataFormatString = "{dd.mm.yyyy}", ApplyFormatInEditMode = false)] public DateTime E

我是ASP.NET新手,我想更改DateTime变量的格式。她在模型文件中输入了我的代码:

...
namespace ProjectMVC.Models
{
    public class EventDetails
    {
        [Required]
        [DisplayFormat(DataFormatString = "{dd.mm.yyyy}", ApplyFormatInEditMode = false)]
        public DateTime EventDate { get; set; }
}
鉴于:

        <div>
            @Html.LabelFor(m => m.EventDate, "Event begin date")
        </div>
        <div>
            @Html.TextBoxFor(m => m.EventDate, "", new { onblur = "IsEmptyField(this)" })
        </div>

@LabelFor(m=>m.EventDate,“事件开始日期”)
@Html.TextBoxFor(m=>m.EventDate,“,new{onblur=“IsEmptyField(this)”})

如何使用“.”分隔符来存储和检查数据?

如果希望遵守此DisplayFormat属性,请使用EditorFor而不是TextBoxFor:

@Html.EditorFor(m => m.EventDate)
如果您想将一些javascript附加到此元素,请以不引人注目的方式执行,例如:

<div class="eventDate">
    @Html.EditorFor(m => m.EventDate)
</div>

为什么建议使用包装器在其上应用css或js,而不是使用htmlatributes字典?哦,有一个
htmlatributes
字典?他们终于介绍了这个?当我在做ASP.NETMVC时,还没有这样的属性。但是如果他们引入了它,显然应该使用它而不是包装器类。请随时更新我的答案(不要忘了指定适用的MVC版本,因为如果有人使用较旧的版本,它将不起作用)。问题是,该模型在此日期fotmat:11/11/1111无法接受,但我想要11.11.1111。如何修复它?@dantey89您设置
ApplyFormatInEditMode=false
您需要设置为
true
,以便在编辑模式下应用该格式(使用EditorFor),如果您只需要显示它,请改为使用
DisplayFor
。@Darinditrov OMG!我的错!我想的是TextBoxFor而不是EditorFor。忘了我说的吧!
$('.eventDate input').blur(function() {
    ...
});