0

我有一个ViewModel包含一个ICollection包含一组文件名的。

我有几个区域View要列出这些文件名。但是,根据 的区域View,我只希望列出某些类型的文件。

过滤 ICollection 的最佳做法是什么?我应该Controller在将其传递给之前对其进行View过滤,还是可以在 上对其进行过滤View

4

1 回答 1

1

我认为最佳实践是在 Model for view 中包含每个区域的列表

class ViewModel
{
   ICollection<string> ForArea1ExampleNames{get;set;}
   ICollection<string> ForArea2ExampleNames{get;set;}

   public ViewModel(ICollection<string> forArea1ExampleNames,ICollection<string> forArea2ExampleNames)
   {
      ForArea1ExampleNames = forArea1ExampleNames;
      ForArea2ExampleNames = forArea2ExampleNames;
   }

}

在控制器中

var forArea1ExampleNames = SomeService.GetForArea1ExampleNames()//This is 
var forArea2ExampleNames = SomeService.GetForArea2ExampleNames()// business logic
var model = new ViewModel(forArea1ExampleNames,forArea2ExampleNames);

过滤文件名是一个业务逻辑,所以应该分开

于 2013-10-01T09:06:56.157 回答