在单独的文本框或下拉列表中编辑asp.net MVC 3中可为空的DateTime属性的最佳方法是什么?
我想将DateTime分为日,月和年 - 将月份显示为下拉列表。该属性是可选的,因此如果未提供日期,则该属性应为null。我假设我必须为MVC 2使用这样的自定义模型绑定器:http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx - 但这似乎不适用于可选日期,并且未正确触发服务器端验证(例如输入日期的文本)。我不想在这里使用jQuery。
这应该是非常简单的,非常常见的用例 - 对吧?谢谢你指点我正确的方向。
答案 0 :(得分:0)
实际上,如今常见的用例是使用jQuery和单个文本框,但如果你真的想使用下拉菜单,则需要在模型中为日/月/年分别设置单独的属性并转换为控制器动作中的日期。
您可以在视图中执行分离,或者生成javascript和隐藏字段的html帮助程序,但这对于视图来说太过逻辑。