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