Assegnare il formato di DateTime con annotazioni di dati?

Ho questo attributo nel mio modello di vista:

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

Se voglio visualizzare la data, o popolare una casella di testo con la data, ho questi:

   m.StartDate) %> 

Ogni volta che viene visualizzata la data, viene visualizzata come: 01/01/2011 12:00:00

Ma mi piacerebbe solo visualizzare 01/01/2011

C’è un modo per applicare un formato di visualizzazione con annotazioni di dati? Non voglio dover passare a tutte le istanze in cui visualizzo una data e aggiungere del codice per formattarlo.

Prova a taggarlo con:

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

Hai provato questo?

 [DataType(DataType.Date)] 

In mvc 4 puoi farlo facilmente seguendo il TextBoxFor con TextBoxFor ..

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

Pertanto, non è necessario utilizzare alcuna annotazione di dati nel modello o visualizzare la class del modello

Applica DataAnnotazione come:

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

Se il campo dati è già un tipo di dati DateTime, non è necessario utilizzare [DataType(DataType.Date)] per l’annotazione; basta usare:

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

su jQuery, usa datepicker per il tuo calendario

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

sul tuo HTML, usa EditorFor helper EditorFor :

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

Usa questo, ma è una soluzione completa:

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

Utilizza EditorFor anziché TextBoxFor

Dopo aver commentato

  // [DataType(DataType.DateTime)] 

Utilizzare l’attributo di annotazione dei dati:

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

STEP-7 del seguente link può aiutarti …

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

imposta la tua proprietà usando il codice sottostante al momento della creazione del modello, penso che il tuo problema sarà risolto … e l’ora non verrà visualizzata nel database. Non devi aggiungere alcuna annotazione.

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