只显示日期从DateTime
问题描述:
嗨我想显示日期时间属性的日期和在curency forged的小数属性的价格。但我必须做错了,因为形成不起作用。这是它是如何显示:只显示日期从DateTime
我想这只是显示日期和使用价格curency DOLAR量。 这是我的模型代码:
[Required]
[DataType(DataType.Date)]
public DateTime PublicationDate { get; set; }
[Required]
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString="{0:c}")]
public decimal Price { get; set; }
这是我使用的视图代码:
<p>
@Html.LabelFor(model => model.PublicationDate , "Publication Date")
@Html.TextBoxFor(model => model.PublicationDate, new { @class = "datepicker"})
</p>
<p>
@Html.LabelFor(model => model.Price)
@Html.TextBoxFor(model => model.Price)
</p>
我在做什么错?
答
的问题是,DATAFORMAT anotations不能适用于TextBoxFor和LabelFor他们只能适用于DisplayFor和EditorFor
答
[Required]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime PublicationDate { get; set; }
[Required]
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString="{0:0.00}")]
public decimal Price { get; set; }
答
您可以使用格式化字符串"{0:d}"
为短日期仅模式。
答
你可以简单地将其指定为>
DateTime.Now.Date.ToShortDateString()
还是在的DateTimePicker的情况下>
dateTimePicker1.Value.Date.ToShortDateString();
还有一个选项叫做格式的日期时间选择器的情况下,保持短。
答
我不是一个MVC的人,但我怀疑你只是想要一个DisplayFormatString:
[DisplayFormat(DataFormatString="{0:d}")]
d
是 “短日期” 一standard date/time format string。您也可以使用custom date/time format string。请注意,对于显示给用户的文本,标准的日期/时间格式通常会更好,因为它可以适当调整用户的文化。如果您使用固定的自定义格式,例如“MM/dd/yyyy”或“dd/MM/yyyy”,那么您最终会混淆使用不同格式的用户。 (例如,“2013年6月5日”在英国是5月6日,但在美国是6月5日。)
如果您需要输入尽管如此,您可能最好使用日期选择器。
我已经tryed这solutiong是actualy第一个我已经在这里发帖之前甚至tryed和它的作品,但由于某种原因,不适合此页面... – aleczandru 2013-03-12 07:24:01