Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
MVC 中的控制器不应该完全不知道它提供给视图的数据将如何显示吗?
我的问题与 SelectList 有关。控制器是否应该足够聪明,知道数据将显示在下拉列表中?还是应该通过视图模型简单地为视图提供项目列表,并让视图根据需要处理它?
绝对 - 控制器负责以正确的结构传递正确的数据,但不会让猴子知道它的外观。如果需要,视图可以选择在随机位置显示每个列表项——控制器不应该参与视觉逻辑。否则,正如您所说,您将失去“关注点分离”。
我明白你在说什么。这仅取决于您如何看待 SelectList。选择列表实际上只是针对此特定用途优化的数据结构。如果您愿意,您实际上可以将 SelectList 用于其他用途。从这个意义上说,仍然存在明显的关注点分离。