私はこれについてWebを執拗に検索しましたが、何も見つかりませんでした.これは驚くべきことです。
基本的に、私のモデルにはDateTime
、ユーザーがフォームから入力したいフィールドがあります。Htmlヘルパーを使用して、フォームの他のすべての部分をレンダリングしています(検証とともに)
したがって、この質問は2つの部分に分かれています...
HTML ヘルパー
まず、Html ヘルパーを使用してDateTime
フィールドを分割し、日付の 3 つの構成部分 (日、月、年) としてレンダリングする方法はありますか (時間の部分は気にしないため)。これは、テキスト ボックス、ドロップダウン リスト、または両方の組み合わせとしてレンダリングできます。
モデルバインディング
次に、フォームが投稿されたときに、モデルにバインドするための最良の方法は何ですか? これに対する Scott Hanselmann のソリューションを見たことがありますが、必要なものに対して少し肥大化しているように見えます。もう少しエレガントなソリューションを望んでいました。それをデフォルトのバインダーとして拡張DefaultModelBinder
して設定することをお勧めします(すべての日付がこのように処理されるため)、またはそれを実装してタイプIModelBionder
のデフォルトのバインダーとして設定するクラスを作成しますか?DateTime
事前にすべての助けに感謝します:-) 私はMVCが大好きですが、とても些細なことで頭痛の種になっていることに腹を立てています!