使用MVP实现分页

时间:2009-08-20 06:43:31

标签: asp.net repeater paging mvp

如何在应用MVP模式时在ASP.NET webforms中实现分页?我想知道在视图或演示者中放置分页逻辑的位置?在ASP.NET中实现分页的另一种方法是使用PagedDataSource控件...从演示者使用它是正确的还是我们更好地实现一些自定义分页逻辑。使用Repeater控件在视图中显示数据。

2 个答案:

答案 0 :(得分:2)

我不确切知道,mvp和mvc之间有什么区别,所以我认为this post可能对你有用。我个人喜欢创建一个外部模型或控制器(演示者?)的想法。此外,jquery分页机制非常简单。在演示者中,只需为请求的数据行添加参数,并仅返回那些参数,而不是整个表格/网格/等等。

答案 1 :(得分:2)

我认为View和Presenter都需要了解分页。原因如下:

  • 智能分页应该只检索填充页面所需的数据。这是演示者和模型之间的合作。在迂腐的MVP中,View不了解模型,因此演示者必须是中间人。在MVC中,您可能会使用足够强大的域模型来排除Controller。
  • View需要了解分页,以便用户可以与分页metaphore正确交互(Next,Prev,正确呈现等)

我对PagedDataSource并不十分熟悉。如果您正在使用WebForms,那么如果您想坚持忠实地实施MVP,那么您可能会受到冲击。也许您可以在Presenter中为PagedDataSource(如果有这样的东西)设置页面缓存,并在View中设置GUI魅力。这意味着传递对用户控件的引用,但也许没关系。

感谢你试图让MVP与WebForms一起工作。我很想知道结果如何。