Asignar formato de DateTime con anotaciones de datos?

Tengo este atributo en mi modelo de vista:

[DataType(DataType.DateTime)] public DateTime? StartDate { get; set; } 

Si quiero mostrar la fecha, o llenar un cuadro de texto con la fecha, tengo estos:

   m.StartDate) %> 

Cada vez que se muestra la fecha, se muestra como: 01/01/2011 12:00:00 AM

Pero me gustaría mostrar solo 01/01/2011

¿Hay alguna manera de aplicar un formato de visualización con anotaciones de datos? No quiero tener que ir a cada instancia donde muestre una fecha, y agregar algún código para formatearlo.

Intenta etiquetarlo con:

 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")] 

¿Has intentado esto?

 [DataType(DataType.Date)] 

En mvc 4 puedes hacerlo fácilmente siguiendo las siguientes TextBoxFor usando TextBoxFor ..

 @Html.TextBoxFor(m => m.StartDate, "{0:MM/dd/yyyy}", new { @class = "form-control default-date-picker" }) 

Por lo tanto, no necesita utilizar ninguna anotación de datos en el modelo o ver la clase de modelo

Aplicar DataAnnotation como:

 [DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")] 

Si su campo de datos ya es un tipo de datos DateTime, no necesita usar [DataType(DataType.Date)] para la anotación; Solo usa:

 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")] 

en jQuery, usa datepicker para tu calendario

  $(document).ready(function () { $('#StartDate').datepicker(); }); 

en su HTML, use EditorFor helper:

  @Html.EditorFor(model => model.StartDate) 

Usa esto, pero es una solución completa:

 [DataType(DataType.Date)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] 

Use EditorFor en lugar de TextBoxFor

Después de comentar

  // [DataType(DataType.DateTime)] 

Use el atributo de anotación de datos:

 [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] 

El PASO-7 del siguiente enlace puede ayudarte …

http://ilyasmamunbd.blogspot.com/2014/12/jquery-datepicker-in-aspnet-mvc-5.html

establezca su propiedad usando el código siguiente al momento de la creación del modelo, creo que su problema será resuelto … y el tiempo no aparece en la base de datos. No necesita agregar ninguna anotación.

 private DateTime? dob; public DateTime? DOB { get { if (dob != null) { return dob.Value.Date; } else { return null; } } set { dob = value; } }