Skip to main content
 首页 » 编程设计

c#之什么是 System.Web.Mvc ViewModels 的最佳实践

2024年02月02日33cyq1162

我正在从事一个中型 MVC 项目。

View Models 已经全部从 web assembly 中拉出来到一个单独的库中。其中一种数据结构由列表框表示,并具有 MultiSelectList 属性。

外部 VM 项目当前没有对 System.Web.Mvc 程序集的引用。

我应该添加引用吗?

我是否应该重构代码以不引用 MultiSelectList 类?如果是这种情况,RawOptionValues 属性在何处转换为 MultiSelectList?

public class SelectListPrompt{ 
 
    public IDictionary<string, string> RawOptionValues { get; set; } 
 
    public MultiSelectList OptionValues 
    { 
        get 
        { 
            return new MultiSelectList(RawOptionValues.ToList(), "Key", "Value"); 
        } 
    } 
} 

请您参考如下方法:

我认为将您的 View 模型放在一个单独的项目中没有任何好处。 View 模型必须与您的 View 紧密耦合,因此您所做的只是增加复杂性而没有明显的好处。

对于将 Controller 放在单独项目中的人,我也有同感。我真的看不到好处。它没有任何结构或设计优势,只会让事情变得更复杂。

当然,可移植区域除外,但是您要将所有内容都放在单独的项目中,而不仅仅是 View 或 Controller 。