如何使用SQLDataSource在转发器上创建自定义分页?

时间:2013-07-05 16:46:17

标签: c# sql repeater sqldatasource

在查看堆栈溢出时,成员建议this tutorial。我看起来可能确实有效,但它不完整。

在他的代码隐藏的底部,他正在使用

private Control FindControlRecursive(Control root, string id) { }
为了清楚起见,他删除了。我尝试通过这种方式填充它来解决它,但它没有用

private Control FindControlRecursive(Control root, string id) 
    {
        if (rootControl.ID == controlID) return rootControl;

        foreach (Control controlToSearch in rootControl.Controls)
        {
            Control controlToReturn =
                FindControlRecursive(controlToSearch, controlID);
            if (controlToReturn != null) return controlToReturn;
        }
        return null;
    }

围绕这个问题的另一个问题是,由于这个职位太旧了,我怀疑它仍然受到监控。

1 个答案:

答案 0 :(得分:1)

几个月前我尝试过使用该教程,发现它对我需要的东西来说太脆弱了。我最终发现朱莉·勒曼(Julie Lerman)发现了this article,从那时起我就一直很好。

分页的一个很酷的事情是,一旦你理解了你必须跟踪的变量,它的实现就相对简单了。 Julie的文章使用了实体框架,但她讨论的概念几乎与使用SQLDataSource实现该功能时需要理解的概念相同。

简而言之,你只需要跟踪两件事:每页显示多少条记录,你在哪个页面,以及一个可选的第三个变量 - 你的数据排序。一旦你有了这些,你只需要一个功能齐全,可寻呼的中继器一箭之遥。 :)

编辑 - 如果Julie对实体框架的使用对您的情况有点过于抽象,您可以参考this article,它更类似于您的具体实现。