假设您有一个视图,它需要一些需要计算但没有外部依赖的数据。(例如,过去 5 年的可枚举字符串列表。)将其放置在强类型视图类中是否可以接受?
像这样的东西:
class HomeIndexViewData
{
// ...some view data...
public IEnumerable<String> LastThreeYears
{
get
{
return new string[] {
DateTime.Now.Year.ToString(),
(DateTime.Now.Year - 1).ToString(),
(DateTime.Now.Year - 2).ToString() };
}
}
}
现在,如果该计算依赖于视图数据类中的其他属性怎么办?假设如果年份出现在日期列表中,这个“LastThreeYears”属性会在年末附加一个星号?
免责声明:这仅适用于特定于单个视图并且不会被存储库、视图模型等正确处理的数据。
一方面,在我看来,视图数据应该就是这样:一个毫无生气的属性集合,它们只是从控制器传递给视图。另一方面,这更漂亮。