gpt4 book ai didi

c# - MVC 模型绑定(bind)到接口(interface)

转载 作者:太空狗 更新时间:2023-10-29 21:25:20 26 4
gpt4 key购买 nike

我创建了一个 OrderFormViewModel 看起来像

public class OrderFormViewModel 
{
public IOrderDetails { get; set; }
public IDeliveryDetails { get; set; }
public IPaymentDetails { get; set; }
// ... etc

public SelectList DropDownOptions { get; set; }
// ... etc

}

这将转到我的创建 View ,其中每个部分(即交付详细信息、付款详细信息...等)然后被传递到捕获必要字段的局部 View 。

我认为这一切都非常整洁,直到我运行它并且当然意识到 MVC 模型绑定(bind)器不知道如何实例化任何接口(interface)。

有什么办法可以解决这个问题吗?

我也在尝试使用 Unity 容器学习 DI,因此我试图避免在我的 UI 项目中引用任何具体类(模型在一个单独的项目中)。

最佳答案

一种解决方案是制作自定义模型 Binder ,但此路径意味着您需要完成将表单元素转换为对象属性的工作。但是,您可以完全控制使用哪个 IOrderDetails 实现,例如,或者您可以让 DI 使用其配置为您提供正确的具体类型。

关于c# - MVC 模型绑定(bind)到接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com