2

私は MVC 4 を使用しており、2 つの日付を受け入れるフォーム フィールドがあります。1 つはチェックイン用、もう 1 つはチェックアウト用です。クラスは非常に基本的です。

public class date {
     public DateTime Checkin { get; set; }
     public DateTime Checkout { get; set; }
}

私が使用している形式は mm/dd/yyyy で、ユーザーは JavaScript カレンダーを使用してチェックイン日を入力し、jquery モバイル スライダーでチェックアウト日を調整します。ただし、実際の日付ではなく、常に「01/01/0001 12:00:00 AM」と表示されるようです。私は同僚に解決策を提供しましたが、まったく同じコードであっても問題はありません。

変更できる設定はありますか、それともビジュアル スタジオがめちゃくちゃですか?

4

3 に答える 3

2

これらのプロパティが割り当てられているコードはありますか? これは のデフォルト値であるためDateTime、割り当てられているはずのものはおそらくまったく実行されていません。dateモデルですか?mvc モデル バインダーに依存している場合は、コントローラー アクションが type のパラメーターを受け入れることを確認してくださいdate。(そしておそらく名前も改善することを考えてください)

于 2012-07-16T04:31:56.350 に答える
1

あなたが示したクラスは、0001 年 1 月 1 日の午前 12 時の DateTime.MinValue に初期Checkin化されます。Checkout

その値を初期化された値から変更するコードは示していません。

おそらく、UI からモデルへのバインディングが正しくありません。何が間違っているのかを正確に診断するには、さらにコードを投稿する必要があります。UI から新しい値を受け入れるコントローラーにアクションを投稿することをお勧めします。

コントローラー アクションへのパラメーターとして DateTime を使用すると何が問題になる可能性があるかについてのガイダンスについては、次の同様の投稿を参照してください。

asp.net mvcでdatetime値をURIパラメータとして渡すにはどうすればよいですか?

于 2012-07-16T04:31:45.270 に答える