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