2011-02-10 5 views
0

DBにデータが格納されている単純なWebフォームがあります。問題は、私はDateTimeフィールドを2つのコントローラに分割しようとします。複数のコントローラを1つのフィールドにマッピング

-One時間日付YYYY/MM/DD

ためTextBoxFor

-One TextBoxFor分間

-One TextBoxFor

DBに日付を保存正常第1のコントローラ、時間(時間と分)はありませんが、他の2つのコントローラーは何もDBに保存しません。

何か助けていただければ幸いです。

 <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

を見て、あなたのコントローラが実際に見せずにDBには何も保存されていない理由を私たちはあなたに言って期待それらのコントローラ、モデル、データアクセスロジック?個人的に私はあまり期待していません。 –

答えて

0

私は読んでいると思うDateTimeの時と分。 これを試して設定すると失敗します。

これを回避する方法の1つは、表示されるモデルのプレゼンテーションプロパティを作成することです。例: model.Hour model.Minute

これらを設定すると、model.deliveryDateの時と分を更新できます。

注意しておくと、これを設定するときにdeliveryDateの表示プロパティを作成すると、時間がなくなります。

全体的に最良の解決策は、優れたDateTimeコントロールを取得することです。私はそこにMVCのあるボックスがあると思います(それがどれほど良いか分かりません)。 次のいずれか試してみてください。

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

または別のもののために http://haineault.com/media/jquery/ui-timepickr/page/ をしてJqueryUI

関連する問題