【发布时间】:2011-03-22 17:41:38
【问题描述】:
我在 SO、博客和书籍中都看到过,作者告诉您在模型项目中添加特定于视图的 ViewModel 作为底层模型对象的包装器。这个想法是在你对视图进行模型绑定时让它变得非常简单和有针对性。这是一个很好的例子:Rendering and Binding Drop Down Lists using ASP.NET MVC 2 EditorFor
但是,让我有点恼火的是,我的模型中现在有对 System.Web.Mvc 的引用,否则这些引用本可以用于多个出口(可能是 WCF API、Silverlight 等),但现在我有了具体的引用到构建我的模型项目所需的 MVC dll。
我的问题是:当我们开始将IEnumerable<SelectListItem> 添加到我们的模型类时,这是否违反了 MVC 模式?是否有一个可行的替代层来移动它以及如何移动它,即控制器?
任何想法或cmets表示赞赏。
【问题讨论】:
-
从这里查看示例 mvc 项目 valueinjecter.codeplex.com,它是在视图模型中没有任何逻辑的情况下完成的
标签: asp.net-mvc model-view-controller asp.net-mvc-2 viewmodel