我有以下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)返回到控制器中。对于简单类型(字符串,布尔值,...),它可以很好地工作,但对于复杂类型(子类)则更为复杂。

MVC 3期货是我的问题的答案,还是有人能够重写DefaultModelbinder来绑定子类?

谢谢,
米歇尔

最佳答案

您还必须为LogOnModelChangePasswordModel创建自定义模型联编程序。您的自定义模型绑定程序不自动知道如何绑定您的复杂类型。

08-05 20:58
查看更多