我正在从事一个中型 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 。
