无法将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不能应用于属性。这似乎很愚蠢,因为我可以将它应用于方法参数。我该如何解决这个限制?
答
想要指定要使用哪个模型联编程序,您是否打算混合并重新使用模型联编程序的exise逻辑?如果是这样,你可以将自己的逻辑结合到自定义绑定本身中(我猜你的“RadEditorModelBinder”)。这样,您使用1个模型绑定器,但模型绑定器本身使用基于传入属性的不同技术。
你觉得这样做会不会是一个很好的选择?如果是这样,请参阅this post进一步讨论。
该死!我去重新组织预期能够做到这一点的事情(我有一个模型有时会绑定一个复杂的模型绑定器,有时还会绑定JSON) – 2013-01-12 23:51:52