asp.net+easyui分页解决方案

asp.net+easyui分页
各位大神,在下刚刚尝试用asp.net+easyui进行开发,遇到后台分页代码的问题,求高人帮忙:
下面是我写的代码:
        projectadminEntitie _ctx = new projectadminEntitie();
        LinqToDataTable toDataTable = new LinqToDataTable();
        public DataTable GetFirst(Hashtable ht,out int count)
        {
            string projectno = ht["Projectno"].ToString();
            string projectname = ht["projectname"].ToString();
            string flg = ht["flg"].ToString();
            int pageIndex = Convert.ToInt32(ht["page"].ToString());
            int pageSize = Convert.ToInt32(ht["rows"].ToString());
            var result = from p in _ctx.P_ProjectClass
                         where (string.IsNullOrEmpty(projectno) ? true : p.projectID.Trim().Equals(projectno))
                         && (string.IsNullOrEmpty(projectno) ? true : p.projectID.Trim().Equals(projectno))
                         && (p.classID == 1)
                         select new
                         {
                             ID = p.ID,
                             ProjectID = p.projectID,
                             ProjectName = p.projectname,
                             ProjectHead = p.HeadName
                         };
            count = result.Count();
            return toDataTable.ToDataTable(result.ToList());
        }

在把list数据转换成datatable要有一个分页的代码功能,请问该怎么写??
------解决思路----------------------
重载一下这个方法喽.. 加2个参数..pageIndex, pageRows,  第几页, 一页多少行..
然后..  skip().take()
------解决思路----------------------
你自己去了解一下分页的原理、然后找找人家的例子看。不能完全靠“求代码”的方式。

你的代码中,重复地查询了两遍数据库,这是对于性能极大地浪费。
------解决思路----------------------
list.Skip(10).Take(10)

------解决思路----------------------
引用:
你自己去了解一下分页的原理、然后找找人家的例子看。不能完全靠“求代码”的方式。

你的代码中,重复地查询了两遍数据库,这是对于性能极大地浪费。




LZ这个貌似没有查询两次数据库吧,他的那个 Hashtable  是一个参数。而且下面用的话,感觉应该不是查数据操作得到的吧,应该只查询了一次。 
我之前用的分页,是用的PagedList用法是 

 
var result = from p in _ctx.P_ProjectClass
                         where (string.IsNullOrEmpty(projectno) ? true : p.projectID.Trim().Equals(projectno))
                         && (string.IsNullOrEmpty(projectno) ? true : p.projectID.Trim().Equals(projectno))
                         && (p.classID == 1)
                         select new
                         {
                             ID = p.ID,
                             ProjectID = p.projectID,
                             ProjectName = p.projectname,
                             ProjectHead = p.HeadName
                         };
            count = result.Count();
 var list= qList.ToPagedList(1, 2);

            list.Items.ToList(); //这个是list集合
 



------解决思路----------------------
easyui 分页的话,会传2个参数过来,一个是page页码,一个pagecount,
你根据这个 参数 构造 sql语句 可以 直接查询到所需要的数据
然后返回的 结构是 : {total:总的数据量,data:你的数据}的结构 就行了,
easyui 会自动给你进行分页。