Asp.net mvc 在编辑模式MVC下从日期选择器中删除时间

Asp.net mvc 在编辑模式MVC下从日期选择器中删除时间,asp.net-mvc,Asp.net Mvc,我尝试了不同的代码来解决这个问题,但它们不能完全按照我想要的方式工作。我试过了 @Html.TextBoxFor(model => model.Date, "{0:MM/dd/yyyy}", new { id="datepicker" }) 及 使用jquery时将我的TextBoxFor更改为EditorFor $("#datepicker1").datepicker({ dateFormat: "dd-mm-yy", changeMonth: true, changeYear: tr

我尝试了不同的代码来解决这个问题,但它们不能完全按照我想要的方式工作。我试过了

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

使用jquery时将我的TextBoxFor更改为EditorFor

$("#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; }
我的模型中的代码是:
[显示(Name=“日期”)]
[DisplayFormat(DataFormatString=“{0:dd/MM/yyy}”,ApplyFormatInEditMode=true)]
公共可空日期{get;set;}

有什么办法可以解决这个问题吗?

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

[DataType(DataType.Date)]
public DateTime Date { get; set; }
或者,您可以明确指定所需的格式:

[DisplayFormat(DataFormatString = "dd-MM-yy", ApplyFormatInEditMode = true)]
public 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; }
[显示(Name=“日期”)]
[DisplayFormat(DataFormatString=“{0:d/M/yyy}”,ApplyFormatInEditMode=true)]
公共可空日期{get;set;}

同样,出于我自己的目的,我需要在代码中使用public nullable。我的JQuery很好,不需要任何修改。

这很有效,它还修复了firefox版本57引起的问题。使用TextBoxFor(m=>m.FromDate,“{0:MM/dd/yyyyy}”)指定格式,即使在这种情况下也似乎不起作用
@Html.TextBoxFor(m=>m.FromDate)
。仍然以时间00:00:00结束(DateTime可为空,但有一个值…不确定这是否重要)我正在执行TextBoxFor的日期的值通过GET请求进入URL。。。我看到URL中有
00:00:00
。。。也许MVC正试图从URL尊重这一点,因为它是发布和重定向的?奇怪的此--ModelState正在重写模型属性格式。。。因为它只是从URL中获取值并将其放在文本框中(包括00:00:00),所以我想完全删除默认的小部件并将其替换为bootstrap datepicker,但是当我在输入框中单击时,您需要显式地将type属性设置为“text”。