【发布时间】:2014-03-12 12:00:42
【问题描述】:
我对在 ASP.NET MVC 中使用 MVVM 感到困惑。
ASP.NET MVC 中的视图只能接受一个模型类。我有一个视图和控制器需要对来自多个模型类的数据进行操作,因此我创建了一个包含这些模型类实例的 ViewModel 类。
我可以在 Controller 中填充 ViewModel,但我听说有人说你应该让你的控制器保持精简。所以我创建了一个服务类来填充视图模型。然后将该服务类注入到控制器中。
1) 这是在 MVC 中做 MVVM 的正确方法吗?人们可以向我指出一些有关此的资源吗?还是我对 MVVM 的理解有误?
2) 表示逻辑是否在 ViewModel 中?例如,在视图中,我可以使用 Razor 执行类似 @if (Model.Order.Count > 10) 的操作来显示无序列表。还是我在 ViewModel 中创建一个名为 ShowUnorderedList 之类的布尔字段并在服务中填充此值?
3) 如果我在视图中做那种表示逻辑,我如何对视图中的逻辑进行单元测试?
【问题讨论】:
标签: c# asp.net-mvc unit-testing mvvm