我有以下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来绑定子类?
谢谢,
米歇尔
最佳答案
您还必须为LogOnModel
和ChangePasswordModel
创建自定义模型联编程序。您的自定义模型绑定程序不自动知道如何绑定您的复杂类型。