我正在尝试将表单绑定到控制器中的模型参数。该模型包含一个 DateTime 字段,我希望在提交表单时绑定它。表单字段希望以非标准格式输入日期(由于各种原因,我无法更改)。
控制器动作是:
public ActionResult Registration_Post(RegistrationDetails model)
我只需要在 RegistrationDetails 类中自定义绑定一个 (DateTime) DateOfBirth 属性。所有其余属性都使用默认绑定。
我不想覆盖整个应用程序的 DateTime 绑定 - 只是为了这个单个操作(或者,如果更简单,控制器)。
知道我该怎么做吗?我尝试在操作上使用 ModelBinder 属性,如下所示:
public ActionResult Registration_Post([ModelBinder(typeof(CustomDateTimeBinder)]RegistrationDetails model)
但是,看来我需要为整个 RegistrationDetails 类创建一个自定义活页夹,这似乎有点矫枉过正。
另外,我不希望将自定义格式放在模型属性上,因为该类在其他地方使用,所以我污染了该类。
我正在使用 MVC4。
谁能告诉我处理这个的最好方法?