fea*_*net 6 c# dependency-injection interface model-binding asp.net-mvc-2
我创建了一个看起来像的OrderFormViewModel
public class OrderFormViewModel
{
public IOrderDetails { get; set; }
public IDeliveryDetails { get; set; }
public IPaymentDetails { get; set; }
// ... etc
public SelectList DropDownOptions { get; set; }
// ... etc
}
Run Code Online (Sandbox Code Playgroud)
这将转到我的创建视图,其中每个部分(即交付详细信息,付款详细信息等)随后会传递到捕获必要字段的部分视图.
我认为这一切都非常简洁,直到我运行它并且当然意识到MVC模型绑定器不知道如何实例化任何接口.
有办法以某种方式解决这个问题吗?
我也在尝试使用Unity容器学习DI,所以我试图避免在我的UI项目中引用任何具体的类(模型在一个单独的项目中).
一种解决方案是创建自定义模型绑定器,但此路径意味着您需要完成将表单元素转换为对象属性的工作.但是,您可以完全控制IOrderDetails的实现,例如,或者您可以让DI使用它的配置为您提供正确的具体类型.
| 归档时间: |
|
| 查看次数: |
2838 次 |
| 最近记录: |