在哪里为我的网格指定页面/排序(例如在控制器或视图中)?

时间:2012-08-31 23:25:21

标签: asp.net-mvc model-view-controller gridview

我应该在哪里初始化我的网格(为什么,请,我正在寻求远见而不仅仅是意见)?

一方面,将当前页码和排序顺序视为“视图关注”似乎是合乎逻辑的,从这个角度来看,在控制器中构建网格与在那里布置HTML非常相似。

另一方面,例如页面编号似乎是“位置关注”,在控制器中解析该指令更有意义。

从责任分离不明确的经验来看,我很有可能做出糟糕的选择,最后会进行重大的重构。

1 个答案:

答案 0 :(得分:0)

您的视图应该请求一组数据(页码,排序顺序等)。您的控制器会对这些请求执行操作并将数据显示给视图。

我会使用默认视图和排序在控制器中初始化您的网格。在分页或排序时,视图会将参数或模型发送到控制器。我喜欢在控制器中保留尽可能多的逻辑。它可以更轻松地修改视图,创建移动视图,使用ajax而不是整页重新加载等。

还有很多支持分页和排序的第三方网格,你考虑过这个吗?然而,推出自己的并不难。