在编辑模式下从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很好,不需要任何改动。
答
时间组件来自DateTime
编码日期和时间的事实,显然是足够的,默认情况下,整个日期和时间字符串将设置为文本框中的值。如果这不是你想要的,那么你需要在你的模型上指定它。例如:
[DataType(DataType.Date)]
public DateTime Date { get; set; }
或者你可以明确指定格式,你想:
[DisplayFormat(DataFormatString = "dd-MM-yy", ApplyFormatInEditMode = true)]
public DateTime Date { get; set; }
这个工作,它也解决了问题引起的firefox版本57。用文本框指定格式 – maztt 2017-11-22 11:40:53