如何最好地管理亚音速3.003的分页

时间:2009-09-23 16:15:01

标签: subsonic datatable paging

我真的很喜欢亚音速,但我不确定如何使用分页

我的意思是如何在列表中获取“页面”或者如何管理最佳方式 我的基础中的总表,逐页

你会看到我尝试了三件事:

m02colegio是一个由activerecord生成的类


IList<m02colegio> loscolegios;
loscolegios = m02colegio.GetPaged(0, 80).ToList();

-----------和:

SubSonic.Schema.PagedList<m02colegio> loscolegios;
loscolegios = m02colegio.GetPaged(0, 80);

-----------和:

var paged = m02colegio.GetPaged(0,80).All<m02colegio>(x=>x.m02ccolnom.Contains(" "));
// 'cause i dont know how to tell it to consider all records
loscolegios = m02colegio.All().ToList(); 

但是每次尝试后我都没有得到任何异常,而loscolegios总是为NULL

我需要以这种方式访问​​记录

那么,最好的方法是什么?

如何获得第一页,然后如何在页面之间取得进展?

2 个答案:

答案 0 :(得分:0)

public ActionResult Index(int? page)
    {

        if (!validateInt(page.ToString()))
            page = 0;
        else
            page = page - 1;

        if (page < 0) page = 0;

        const int pagesize = 9;

        IQueryable<m02colegio> Mym02colegio = m02colegio.All().Where(x => x.category == "test").OrderBy(x => x.id);

        ViewData["numpages"] = m02colegio.All().Where(x => x.category == "test").OrderBy(x => x.id).Count() / pagesize;
        ViewData["curpage"] = page;


        return View(new PagedList<material>(Mym02colegio, page ?? 0, pagesize));
    }

这是MVC意义上的,但它给你的想法,索引接受null或页码 你得到所有记录然后返回你得到的记录的页面列表。

答案 1 :(得分:0)

我不确定这是否是在当前github源中修复的错误,或者是否是设计但我发现GetPaged仅适用于第一个参数的基于1的索引。因此,如果您执行以下操作,您应该会发现它可以按照您的预期运行:

IList<m02colegio> loscolegios = m02colegio.GetPaged(1, 80);