現在、MVC 3 ビューの複数のフィールドをビュー モデルの 1 つのプロパティにバインドする方法と、これを達成しようとするときに推奨される方法を理解しようとしています。
何かを準備するのにかかる分数 (のみ) の例を使用します。
フォームは次のようになります。
準備時間 - 時間: [ 1 ] 分: [ 30 ]
また、送信されたフォームの値を分に変換し、ViewModel の PreparationTimeInMinutes プロパティにバインドする必要があります。
ViewModel プロパティ:
public short PreparationTimeInMinutes { get; set; }
ビューはViewModelに強く型付けされており、現在以下を持っています:
<div class="editor-label">
@Html.LabelFor(model => model.PreparationTimeInMinutes)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PreparationTimeInMinutes)
@Html.ValidationMessageFor(model => model.PreparationTimeInMinutes)
</div>
これを実現するために考え始めたことがいくつかあります。
- MVC3 がバインドと検証を整理できるように、PreparationTimeInMinutes プロパティを時間と分のプロパティを持つ ViewModel に変更し、そのためのエディターと表示テンプレートを作成しますか?
- 準備時間には JavaScript と非表示フィールドを使用します。
- この種のことを行うために MVC モデル バインディングを使用できる他のアプローチはありますか?
この種のベストプラクティスに関する提案はありますか? または私が離れている場合。
私にお知らせください。ありがとう