gpt4 book ai didi

c# - 带有子接口(interface)的 ASP.NET MVC 4 ViewModel

转载 作者:太空狗 更新时间:2023-10-29 20:39:57 24 4
gpt4 key购买 nike

有没有办法在没有自定义模型绑定(bind)的情况下处理这个问题?

public class MyViewModel {
public string UserId { get; set; }
public IJob Job { get; set; }
}

public interface IJob {
public long Id { get; set; }
public string CompanyName { get; set; }
}

public class FullTimeJob : IJob {
// omitted for brevity
}

public class Internship : IJob {
// omitted for brevity
}

我遇到的问题是我在默认模型联编程序中遇到错误,因为它不了解要实例化 IJob 的哪个实现。当我创建 MyViewModel 时,我将 FullTimeJob 的一个实例设置到它的 Job 属性中。我猜 ASP.NET 不能保留实现类型?

对此的最佳实践解决方案是什么?

最佳答案

View 只是 UI 和 Controller 之间的数据载体。因此,您只需将 Id 和 CompanyName 属性添加到您的 View 即可。因为您要做的就是从 UI 获取 Id 和公司值。从 UI 获取数据时,是实习还是全职工作可能并不重要。当您处理从 UI 获得的数据时,这可能很重要,但这不是 View 的责任。

关于c# - 带有子接口(interface)的 ASP.NET MVC 4 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14003235/

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