Asp.Net MVC 2 Html.TextBoxFor Best way to specify a format string for a DateTime property of model

Simon Fox picture Simon Fox · May 20, 2010 · Viewed 11.6k times · Source

As the question title explains, what is the best way to specify a format which my Views use when displaying values of a DateTime property via the Html.TextboxFor method.

The default display includes the Date and Time where I really only want the Date displayed.

Thanks

Answer

Nathan Taylor picture Nathan Taylor · May 20, 2010

In your model definition add the DisplayFormatAttribute to the DateTime property:

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

Then in your View call:

<%=Html.EditorFor(m => m.Date)%>

If all goes well you should get a TextBox with the value filled in in the format specified in the attribute definition.