具有复杂类型MVC 3的自定义模型绑定器

时间:2011-03-10 04:26:59

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-viewmodel

我有以下ViewModel,我想创建一个自定义绑定器来绑定子类(LogOnModel,ChangePasswordModel)。

public class LogOnViewModel
{
    public string NextStep { get; set; }
    public string PreviousStep { get; set; }
    public string ReturnUrl { get; set; }
    public bool MustChangePassword { get; set; }
    public bool MustAgreeNewPrivacyStatement { get; set; }
    public LogOnModel logOnModel { get; set; }
    public ChangePasswordModel changePasswordModel { get; set; }
}

我能够创建自定义绑定器(继承自DefaultModelBinder),但从未能够将完整的VALIDATED模型(已填充ModelState)返回到我的控制器中。它适用于简单类型(string,bool,....)但复杂类型(子类)更复杂。

MVC 3 Futures是我的问题的答案还是有人能够覆盖DefaultModelbinder来绑定子类?

谢谢, 米歇尔

1 个答案:

答案 0 :(得分:0)

您还必须为LogOnModelChangePasswordModel创建自定义模型绑定器;您的自定义模型绑定器不会自动知道如何绑定复杂类型。