无法将ModelBinder属性添加到输入模型的属性

问题描述:

我想指定用于我的输入模型属性的模型联编程序。无法将ModelBinder属性添加到输入模型的属性

public class SendEmailInput 
{ 
    [Required, EmailAddress] 
    public string From { get; set; } 
    [Required] 
    public string To { get; set; } 
    [Required] 
    public string Subject { get; set; } 
    [Required, ModelBinder(typeof(RadEditorModelBinder))] 
    public string Body { get; set; } 
} 

但是,ModelBinderAttribute不能应用于属性。这似乎很愚蠢,因为我可以将它应用于方法参数。我该如何解决这个限制?

+0

该死!我去重新组织预期能够做到这一点的事情(我有一个模型有时会绑定一个复杂的模型绑定器,有时还会绑定JSON) – 2013-01-12 23:51:52

想要指定要使用哪个模型联编程序,您是否打算混合并重新使用模型联编程序的exise逻辑?如果是这样,你可以将自己的逻辑结合到自定义绑定本身中(我猜你的“RadEditorModelBinder”)。这样,您使用1个模型绑定器,但模型绑定器本身使用基于传入属性的不同技术。

你觉得这样做会不会是一个很好的选择?如果是这样,请参阅this post进一步讨论。

你可能有实现自己PropertyBinder喜欢这里:MVC Property Binder