我想做点什么
model.PickupDate.ToString("d")
但MVC4并不是那么喜欢。 PickupDate
是DateTime
字段,我想在视图中显示时删除时间部分,同时保留将new { id = "date1" }
绑定到javasript datepicker的TextBoxFor
代码。如何仅在此实例中显示日期部分?
@Html.TextBoxFor(model => model.PickupDate, new { id = "date1" })
答案 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"})