MVC DateTime文本框格式问题

时间:2013-07-25 06:42:50

标签: asp.net-mvc asp.net-mvc-4

我想做点什么

model.PickupDate.ToString("d")

但MVC4并不是那么喜欢。 PickupDateDateTime字段,我想在视图中显示时删除时间部分,同时保留将new { id = "date1" }绑定到javasript datepicker的TextBoxFor代码。如何仅在此实例中显示日期部分?

@Html.TextBoxFor(model => model.PickupDate, new { id = "date1" })

7 个答案:

答案 0 :(得分:30)

这就是我要这样做的方式。希望它有所帮助

 @Html.TextBoxFor(m => m.MyDateTime, new { Value = Model.MyDateTime.ToString("MM-dd-yyyy"), id = "MySuperCoolId"});

或在你的情况下

@Html.TextBoxFor(m => m.PickupDated, new { Value = Model.PickupDate.ToString("d"), id = "date1"});

答案 1 :(得分:27)

这应该有效:

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

答案 2 :(得分:4)

在您定义模型的地方,您可以提供日期格式,在本例中我将DD / MM / YYYY作为我的格式,但您可以采用您需要的任何格式。

型号代码

public class MyModel
{
   [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
   public DateTime SomeDateTime {get;set;}
}

然后你的剃刀

@Html.EditorFor(model => model.SomeDateTime, new { id = "date1" })

答案 3 :(得分:4)

基于https://stackoverflow.com/a/13702321/787511,使用JQueryUI datepicker进行测试。

@Html.TextBoxFor(model => model.PickupDate, "{0:d}", new { id = "date1" })

答案 4 :(得分:0)

如果仅在 查看 上进行转化,可以按照以下方式进行转换

@Html.TextBoxFor(model => model.SomeDateTime, String.Format("{0:MM/dd/yyyy}"))

答案 5 :(得分:0)

展示将取决于文化。虽然在大多数情况下所有其他答案都是正确的,但它对我不起作用。如果附加了jQuery datepicker,文化问题也会导致不同的问题。

如果您希望以下列方式强制格式转义/

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

如果没有为我转义,则显示08-01-2010与预期08/01/2010

如果没有转义,jQuery datepicker将选择不同的defaultDate,在我的实例中它是May 10, 2012

答案 6 :(得分:0)

   @Html.TextBoxFor(model => model.Date, String.Format("{0:dddd, MMMM d, yyyy}",Model.Date),  new { @class = "form-control"})