2011-02-10 7 views
0

J'ai un formulaire Web simple où les données sont stockées dans le DB. Le problème que j'essaie de diviser le champ DateTime en deux contrôleurs.Plusieurs contrôleurs mappés à un seul champ

TextBoxFor pour la -One Date AAAA/MM/JJ

TextBoxFor pour les -One Heures

TextBoxFor -One pour le procès-verbal

Le premier contrôleur enregistre avec succès la date dans le DB, pas de temps (heures et minutes) mais les deux autres contrôleurs n'enregistrent rien dans la base de données.

Toute aide est appréciée.

 <div class= "editor-field"> 
     @Html.TextBoxFor(model => model.deliveryDate) 
     @Html.ValidationMessageFor(model => model.deliveryDate) 
    </div> 

    <div class="editor-label"> 
     Tid 
    </div> 
    <div class= "editor-field"> 
     @Html.TextBoxFor(model => model.deliveryDate.Hour) 
     @Html.TextBoxFor(model => model.deliveryDate.Minute) 

    </div> 
+0

Et vous nous vous dire attendez pourquoi vos contrôleurs ne sont pas rien enregistrer dans la base de données sans réellement montrer ces contrôleurs, modèles et logique d'accès aux données? Personnellement, je ne m'attendrais pas à grand-chose. –

Répondre

0

Heure et minute d'une DateTime que je crois être en lecture seule. Ainsi, lorsque vous essayez de les définir, cela échouera.

Un moyen très simple de contourner ce problème consiste à afficher les propriétés de présentation sur le modèle. par exemple modèle.Heure modèle.Minute

Lorsque ces paramètres sont définis, vous pouvez mettre à jour les heures et les minutes de model.deliveryDate. Par mesure de précaution, je créerais également une propriété d'affichage pour deliveryDate, car lorsque vous le réglez, vous perdez l'heure.

La meilleure solution globale serait d'obtenir un bon contrôle DateTime. Je pense qu'il y en a un dans la boîte avec MVC (je ne sais pas à quel point c'est bon). Essayez l'un de ces:

http://trentrichardson.com/examples/timepicker/

ou pour les différents http://haineault.com/media/jquery/ui-timepickr/page/ et jeter un oeil à jQueryUI

Questions connexes