Linq to sql之分页
普通方式分页:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
private IQueryable GetDate()
{
Linq.PageDataContext Lpage = new Linq.PageDataContext();
var Date = from lp in Lpage.Person
select new
{
lp.ID,
lp.Names,
lp.Sex,
lp.Adress,
lp.Tel
};
//一共多少条记录
int Count = Lpage.Person.Count();
//总页数,用来显示页码
int PageCount = (int)Math.Ceiling((decimal)Count / 10);//(Math.Ceiling-- 1.1=2; 1.0=1)
//无Request
int SkipPage=0;
//如果有Request
if (!string.IsNullOrEmpty(Request["Pa"]))
{
//接收传过来的页码值
int page = Convert.ToInt32(Request["Pa"]);
//求出每页要跳过的数据
SkipPage = (page - 1) * 10;
}
var FiDate = Date.Skip(SkipPage).Take(10);
//设置前台页面显示
StringBuilder SBuilder = new StringBuilder();
//没什么必要
System.Threading.Tasks.Parallel.For(1,PageCount+1,i=>
{
SBuilder.AppendFormat(" <a href=\"SepPage.aspx?Pa=" + i + "\">" + i + "</a> ");
}
);
Ou = SBuilder.ToString();
return FiDate;
}