C# ASP.NET MVC中的MVVM

C# ASP.NET MVC中的MVVM,c#,asp.net-mvc,unit-testing,mvvm,C#,Asp.net Mvc,Unit Testing,Mvvm,我对在ASP.NET MVC中使用MVVM感到困惑 ASP.NET MVC中的视图只能接受一个模型类。我有一个视图和控制器,需要对来自多个模型类的数据进行操作,因此我创建了一个ViewModel类,其中包含这些模型类的实例 我可以在控制器中填充ViewModel,但我听到有人说应该保持控制器精简。因此,我创建了一个服务类来填充viewmodel。然后将该服务类注入控制器 1) 这是在MVC中使用MVVM的正确方式吗?人们能告诉我一些关于这方面的资料吗?还是我对MVVM的理解有误 2) 视图模型中

我对在ASP.NET MVC中使用MVVM感到困惑

ASP.NET MVC中的视图只能接受一个模型类。我有一个视图和控制器,需要对来自多个模型类的数据进行操作,因此我创建了一个ViewModel类,其中包含这些模型类的实例

我可以在控制器中填充ViewModel,但我听到有人说应该保持控制器精简。因此,我创建了一个服务类来填充viewmodel。然后将该服务类注入控制器

1) 这是在MVC中使用MVVM的正确方式吗?人们能告诉我一些关于这方面的资料吗?还是我对MVVM的理解有误

2) 视图模型中是否包含表示逻辑?例如,在视图中,我可以使用Razor执行类似@if(Model.Order.Count>10)的操作来显示无序列表。或者在ViewModel中创建一个名为ShowUnorderedList的布尔字段,并在服务中填充该值


3) 如果我在视图中执行这种表示逻辑,我如何在视图中对逻辑进行单元测试?

我做了更多的研究,我的困惑源于这样一个事实,即我认为MVVM模式就是您在MVC中使用ViewModels时所称的模式。然而,情况并非如此。我没有使用MVVM-我只是使用带有ASP.NET MVC的ViewModels。

签出