我目前正在尝试弄清楚如何将 MVC 3 视图中的多个字段绑定到视图模型上的 1 个属性,以及在尝试实现这一点时推荐什么。
使用一个例子来说明准备某事所需的分钟数(仅)。
表单可能如下所示:
准备时间 - 小时:[1] 分钟:[30]
并且提交的表单值需要转换为分钟并绑定到 ViewModel 的 PreparationTimeInMinutes 属性。
视图模型属性:
public short PreparationTimeInMinutes { get; set; }
并且 View 是对 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>
为了实现这一目标,我开始考虑以下几件事。
- 将 PrepareTimeInMinutes 属性更改为具有小时和分钟属性的 ViewModel 并为其创建编辑器和显示模板,以便 MVC3 可以整理绑定和验证?
- 准备时间使用 javascript 和隐藏字段。
- 其他一些方法可以让您使用 MVC 模型绑定来做这种事情?
有没有人对这类事情的最佳实践有任何建议?或者如果我很遥远。
请告诉我。谢谢