MVC中的控制器是否应该完全不知道它将如何显示给视图的数据?
我的问题与SelectList有关。控制器应该足够聪明,知道数据将以下拉形式显示吗?或者它应该通过视图模型简单地给出视图一个项目列表,并让视图处理它需要它吗?
答案 0 :(得分:1)
绝对 - 控制器负责以正确的结构传递正确的数据,但不会给猴子看它的外观。如果需要,视图可以选择在随机位置显示每个列表项 - 控制器不应该参与可视逻辑。否则,正如你所说,你失去了“关注点分离”。
答案 1 :(得分:1)
我知道你得到了什么。这取决于你如何看待SelectList。选择列表实际上只是针对此特定用途而优化的数据结构。如果需要,您实际上可以将SelectList用于其他内容。从这个意义上说,关注点仍然存在明显的分离。