我正在考虑自定义模型绑定器的值,该绑定器可以使我的域层中定义的不可变值对象实例化。然后我可以将它们通过堆栈并将它们设置在适当的实体上。有人试过吗?有运气吗?认为这是一个愚蠢的想法?
问问题
640 次
1 回答
1
如果“值对象”是指只能通过将值传递给构造函数而不是绑定到字段来创建的对象,我认为您有以下解决方案:
编写一个自定义活页夹 - 虽然我现在不知道如何在其中一次访问多个字段。
传递视图模型(允许绑定到其字段),然后将其转换为值对象。使用反射(几行)编写一个简单的转换器。您必须按名称或类型关联视图模型属性和构造函数参数。您可以让您的视图模型定义相应的值类型,并在动作过滤器/OnActionExecuting 中自动调用您的转换器。这是一种半自动模型绑定。
将 FormCollection 之类的内容传递给操作,然后调用您的反射方法,例如 var value = BindValue<ValueType>(formCollection)。
于 2010-01-28T11:24:49.993 回答