我有一个View
,其Model
包含ICollection
,其中包含一组文件名。
我在View
上有几个区域,我想列出这些文件名。但是,根据View
的区域,我只希望列出某些类型的文件。
过滤ICollection的最佳做法是什么?我应该在Controller
上将其过滤到View
之前对其进行过滤,还是可以在View
上过滤它?
答案 0 :(得分:1)
我认为最佳做法是在模型中查看包含每个区域的列表
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);
过滤文件名是一种商业逻辑。所以它应该分开