刚学习asp.net
就选择了linq to sql
感觉很方便很好用。
AspNetPager 这个分页控件也很好用方便省
一开始用ling to sql 和AspNetPager 数据量到了700多时就特别慢了,
然后就网上找答案,
找一个存储过程分页。经过测试,很快。
public void pagelist()
{
var t = (from a in dl.news where SqlMethods.Like(a.news_title, "%" + keyword + "%") select a);
var d = dl.newspage("news", "*", "id", AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex, 0, 1, "news_title like '%" + keyword + "%'");
PagedDataSource plist=new PagedDataSource();
plist.DataSource=d;
plist.AllowPaging=true;
AspNetPager1.RecordCount=t.Count();
plist.CurrentPageIndex=AspNetPager1.CurrentPageIndex - 1;
plist.PageSize=AspNetPager1.PageSize;
page_list.DataSource = d;
page_list.DataBind();
}
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{ //当页面页数改变时,执行这个方法;
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
pagelist();
}
上面的代码,OK
就是在导入存储过程的时候,ling to sql 自动生成的代码是生成的int类型的,还得手动修改一下,
ISingleResult<pagenewsResult>
pagenewsResult
是我之前拖进去的一个简单存储过程。
现在,自己还没整明白存储过程,只是拿来用用别人的,还得加以时日自己手写适合自己需要的。