41 messaggi dal 09 gennaio 2012
Ciao a tutti
in MVC 5. Ho una tabella clienti con il campo "dataNascita" e la data nel db in formato aaaammgg e vorrei farlo modificare all'utente con l'uso del datapicker di Jquery.
Se modifico il record nel campo di testo mi compare come si trova nel db (19800215) e io vorrei invece mostrare "15/02/1980".
Il mio problema e': come fare una funzione che sara' usata da piu' modelli e impiegarla in modo che il numero sembri una data nel campo textbox ?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
penso che il problema si risolverebbe da sé memorizzando la data come campo datetime nel database. Hai un requisito che ti impone di memorizzarla come intero oppure è stata una tua scelta?

In quel modo, nella tua classe avresti una proprietà DateTime di cui puoi facilmente decidere il formato grazie all'attributo DisplayFormat.

Un intero, invece, non ha formati che ti danno la stessa libertà di "riordinare le cifre", ed ecco perché c'è bisogno di un intermediario.
  • O ti crei un ViewModel, ovvero un oggetto che possiede la fatidica proprietà DateTime a cui assegnerai la data ottenuta dalla conversione dal numero intero che ti arriva dal DB;
  • Oppure ti crei un EditorTemplate, in cui metterai non solo il campo textbox da legare al datepicker di jQuery, ma anche un hidden in cui copierai il valore nel tuo formato ogni volta che l'utente sceglie una data sul calendario. Assegnerai l'EditorTemplate alla proprietà int della tua classe per mezzo dell'attributo UIHint. Qui trovi una guida che ti mostra come fare.
    http://www.codeguru.com/csharp/.net/net_asp/mvc/using-display-templates-and-editor-templates-in-asp.net-mvc.htm


ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.