.Net分页实现
2015-08-10 23:12
302 查看
public partial class _Default : System.Web.UI.Page { private mydbDataContext _context = new mydbDataContext();//建立连接 private const int PAGESIZE = 3;//定义每页大小为三个 //取得分页信息************重要*********** public List<Car> GetPageCar(int pageNo) { var query = _context.Car.Skip(PAGESIZE * (pageNo - 1)).Take(PAGESIZE); return query.ToList(); } //获取总页数************重要*********** public int GetPageCount() { int rowsCount = _context.Car.Count();//获得总行数 int pageCount = (int)Math.Ceiling(1.0 * rowsCount / PAGESIZE); return pageCount; } protected void Page_Load(object sender, EventArgs e) { int nowPage =1;//初始页为1 if (Request["pageno"]!=null)//第一次打开pageno为空,当不为空的时候就给nowpage赋值 { nowPage = Convert.ToInt32(Request["pageno"]); } //显示列表中的信息 ShowPageCars(nowPage); //显示上一页下一页的数据,首页和尾页 ShowPrevNextLink(nowPage); } //显示上一页下一页首页尾页信息 private void ShowPrevNextLink(int nowPage) { //给上一页,下一页数据 int pageCount = GetPageCount(); //控制下一页连接 if (nowPage == pageCount) { linkNext.Enabled = false; linkLast.Enabled = false; } else { linkNext.Enabled = true; linkLast.Enabled = true; linkNext.NavigateUrl = "Default.aspx?pageno=" + (nowPage + 1).ToString(); //控制尾页 linkLast.NavigateUrl = "Default.aspx?pageno=" + pageCount; } //控制上一页连接 if (nowPage == 1) { linkPrev.Enabled = false; linkFrist.Enabled = false; } else { linkPrev.Enabled = true; linkFrist.Enabled = true; linkPrev.NavigateUrl = "Default.aspx?pageno=" + (nowPage - 1).ToString(); //控制首页连接 linkFrist.NavigateUrl = "Default.aspx?pageno=1"; } } //显示列表信息 private void ShowPageCars(int nowPage) { List<Car> list = GetPageCar(nowPage); //给Repeater数据 Repeater1.DataSource = list; Repeater1.DataBind(); } //跳转 protected void btnGo_Click(object sender, EventArgs e) { if (txtPageNO.Text == "") { } else { int goNo = Convert.ToInt32(txtPageNO.Text); if (goNo < 1) { Response.Redirect("Default.aspx"); } else if (goNo > GetPageCount()) { Response.Redirect("Default.aspx?pageno=" + GetPageCount()); } else { Response.Redirect("Default.aspx?pageno=" + goNo); } } } }
效果图如下
首页(name): linkFirst
上一页(name):linkPrev
下一页(name):,linkNext
尾页(name):linkLast
以上都是HyperLink控件(超链接)
文本框(name):txtPageNo
跳转按钮(name):btnGo
分页问题,每次点击页面都将从新加载.可考虑Ajax优化
相关文章推荐
- oracle 11g数据库安全加固注意事项
- 利用Android的UXSS漏洞完成一次XSS攻击
- HDU 3639 SCC Hawk-and-Chicken
- grep命令
- iostransitiontranslate闪屏问题总结
- VIM文本编辑器
- 第80讲:List的泛型分析以及::类和Nil对象
- hdu5354 Bipartite Graph
- 文件系统
- JS encode decode
- Scala 深入浅出实战经典 第53讲:Scala中结构类型实战详解
- 如何用pdfbox-app-1.8.10.jar批处理将pdf文档转换成text文档
- IEF could not decode Chinese character in IE history well
- iOS设置tabBarItem.image图片渲染模式
- iOS 自动布局
- [转]如何设计电流镜
- ECharts是我接触过的最优秀的可视化工具,也是进步最快的软件,希望它早日成为世界级的开源项目。
- QML插件扩展(一)
- Ext.form.ComboBox最常用的一些属性和方法
- CodeForces - 344A Magnets (模拟题)