在编辑模式下从datepicker中删除时间MVC

问题描述:

我尝试了不同的代码段来解决这个问题,但是他们不能按照我想要的方式工作。我试过在编辑模式下从datepicker中删除时间MVC

@Html.TextBoxFor(model => model.Date, "{0:MM/dd/yyyy}", new { id="datepicker" }) 

改变我TextBoxFor到EditorFor同时使用jquery

$("#datepicker1").datepicker({ dateFormat: "dd-mm-yy", changeMonth: true, changeYear: true }); 

当我做其中任一日期没有时间返回罚款(即4-12- 14),但是我放弃了我的datepicker日历的功能。如果我不使用它们,我的datepicker日历工作正常,但是我最终在我的编辑文本框中输入了4-12-14 00:00:00。

The code from my Model is: 

[Display(Name = "Date")] 
    [DisplayFormat(DataFormatString = "{0:dd/MM/yyy}", ApplyFormatInEditMode = true)] 
    public Nullable<System.DateTime> Date { get; set; } 

任何想法如何解决这个问题?

得到它解决了所有我需要做的是我的文本框的格式更改为

@Html.TextBoxFor(model => model.LRRRentReviewDate, "{0:d/M/yyyy}", new { id="datepicker" }) 

我的型号日期格式为

[Display(Name = "Date")] 
    [DisplayFormat(DataFormatString = "{0:d/M/yyy}", ApplyFormatInEditMode = true)] 
    public Nullable<System.DateTime> Date { get; set; } 

我需要在自己的代码中使用公开的可空对象。我的JQuery很好,不需要任何改动。

+1

这个工作,它也解决了问题引起的firefox版本57。用文本框指定格式 – maztt 2017-11-22 11:40:53

时间组件来自DateTime编码日期和时间的事实,显然是足够的,默认情况下,整个日期和时间字符串将设置为文本框中的值。如果这不是你想要的,那么你需要在你的模型上指定它。例如:

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

或者你可以明确指定格式,你想:

[DisplayFormat(DataFormatString = "dd-MM-yy", ApplyFormatInEditMode = true)] 
public DateTime Date { get; set; }