Webform 翻页查询.最主要理解这一句代码 return _Context.ChinaStates.Skip((nowpage - 1) * numbers).Take(numbers).ToList();

查询里的方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// CarBF 的摘要说明
/// </summary>
public class CarBF
{
    private DataClassesDataContext _Context;
    public CarBF()
    {
        _Context = new DataClassesDataContext();
    }
    public List<Car> Select()
    {
        return _Context.Car.ToList();
    }
    public List<ChinaStates> Select1()
    {
        return _Context.ChinaStates.ToList();
    }
    //Take查询前五条
    public List<ChinaStates> Select2()
    {
        return _Context.ChinaStates.Take(5).ToList();
    }

    //nowpage是当前页,numbers是一页为几条数据.skip是跳过序列中指定数量的元素
    public List<ChinaStates> Select3(int nowpage,int numbers)
    {
        return _Context.ChinaStates.Skip((nowpage - 1) * numbers).Take(numbers).ToList();
    }
}

aspx.cs里的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //List<Car> list = new CarBF().Select();
        //Cache.Insert("aaa",list);
        if (!IsPostBack)
        {
            bangding(1, 5);
        }
    }
    //点击首页
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
            bangding(1,5);
   }
    public void bangding(int nowpage,int numbers)
    {
        List<ChinaStates> list = new CarBF().Select3(nowpage, numbers);
        Repeater1.DataSource = list;
        Repeater1.DataBind();
        TextBox1.Text = nowpage.ToString();
    }
    //点击尾页
    protected void LinkButton2_Click(object sender, EventArgs e)
    {
        List<ChinaStates> list = new CarBF().Select1();
        if (list.Count%5==0)
        {
            bangding(list.Count/5,5);
        }
        else if (list.Count%5!=0)
        {
            bangding(list.Count/5+1,5);
        }
    }
    //点击上一页
    protected void LinkButton3_Click(object sender, EventArgs e)
    {
        int nowpage = Convert.ToInt32(TextBox1.Text);
        if (Convert.ToInt32(TextBox1.Text) > 1)
        {
            bangding(nowpage - 1, 5);
        }
        else
        {
            LinkButton3.Enabled = false;
        }
    }
    //点击下一页
    protected void LinkButton4_Click(object sender, EventArgs e)
    {
        List<ChinaStates> list = new CarBF().Select1();
        int count = list.Count / 5;
        if (Convert.ToInt32(TextBox1.Text) <= count)
        {
            int nowpage = Convert.ToInt32(TextBox1.Text);
            bangding(nowpage + 1, 5);
        }
        else
        {
            LinkButton4.Enabled = false;
        }
    }
    //当点击转到页的时候
    protected void LinkButton5_Click(object sender, EventArgs e)
    {
        List<ChinaStates> list = new CarBF().Select1();
        if (Convert.ToInt32(TextBox1.Text) > list.Count / 5 + 1)
        {
            TextBox1.Text = null;
            Literal1.Text = "页数超出范围";
        }
        else
        {
            int count = Convert.ToInt32(TextBox1.Text);
            bangding(count, 5);
        }
    }
}

效果图

时间: 2024-08-01 21:12:34

Webform 翻页查询.最主要理解这一句代码 return _Context.ChinaStates.Skip((nowpage - 1) * numbers).Take(numbers).ToList();的相关文章

Mvc 翻页查询,代码很有用

Model里的代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Mvc翻页查询.Models { public class CarBF { private masterDataContext _Context = new masterDataContext(); public List<Car> Select(int pageSize,int pag

MySql翻页查询

分页查询在网页中随处可见,那原理是什么呢?下面简单介绍一下基于MySql数据库的limit实现方法. 首先明确为什么要使用分页查询,因为数据庞大,查询不可能全部显示在页面上,如果全部显示在页面上,也会造成查询速度慢的情况,所以分页查询解决了①数据查询:②性能优化,等(其他问题欢迎补充)的问题. 分页查询也分为真分页和假分页: 真分页:基于数据库查出的数据直接分页显示,优点是改变数据库数据不会影响查询结果,缺点是速度稍慢. 假分页:将所有数据查询出的数据,封装到list集合缓存中,表现层方法调用执

程序中翻页查询,你真的懂吗?

序 程序员代码的编写能力主要体现在思维的严谨上.有些看起来很简单的东西,里面包含很多很细的点,你能想到吗? 今天我就简单说一下一个例子,让大家学习到新知识的同时,也养成一种思维的习惯. 问题 有一张收藏表,里面存储的是用户和图书ID.数据量为1亿.现在要求分页获取所有用户ID(不重复),写下你的sql语句. 表结构大致如下: CREATE TABLE 收藏表( `id` bigint(20) unsigned NOT NULL auto_increment COMMENT 'primary ke

Ext GridPanel在进行条件查询后,翻页有误

填写查询条件并完成搜索后,当页的数据是正确,但是点击翻页后,数据结果有误,这个原因是由于翻页查询条件并没有传入. 解决方法如下: 给Store添加一个事件----beforeload 在一个新数据对象请求发出前触发此事件. 如果beforeload的处理函数返回'false', 数据请求将被取消. 具体代码如下: ds_edisCommonUser.on('beforeload',function(ds_edisCommonUser,options){ var _search_name= Ext

Atitit easyui翻页组件与vue的集成解决方案attilax总结

===============使用1 ===========\paggingUtil_easyui_vue.js2 C:\Users\Administrator\Desktop\00oa\js\paggingUtil_easyui_vue.js ===============使用 <!-- pagging--> <link rel="stylesheet" type="text/css" href="easyui1.5/themes/de

翻页过程中保存查询条件

例如:我的查询条件是 1 <table> 2 <tr> 3 <td> 4 <input type="text" name="goodsNo"/>- 7 </td> 8 <td> 9 <input type="text" name="goodsName"/> 12 </td> 13 <td><input type=&

Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php

Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php 1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1 2. 翻页的显示格式:: 1 2.1. 通常ui--"首页"."上页"."下页"."末页",还要有Goto到指定页 1 2.2. 百度式::...<上一页567891011121314下一页 2 2.3. 综合的页面 首

《Entity Framework 6 Recipes》中文翻译系列 (17) -----第三章 查询之翻页、过滤和使用DateTime中的日期部分分组

翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-12 翻页和过滤 问题 你想使用分页和过滤来创建查询. 解决方案 假设你有如图3-13所示的模型,模型中有一个Custormer实体类型. 图3-13 包含一个Customer实体类型的模型 你有一个基于过滤条件来显示客户信息的应用.你的公司有许多客户(也许数百万!),为了保证尽可能响应的用户体验,你想在每一页上只显示一定数量的客户.创建一个查询,它能过虑客户并按页返回可控数量的结果集.

【WebForm】Repeater 序列号 在翻页情况下自增

asp.net Repeater控件分页时,序号列翻页重新从1开始计数问题的解决思路及方法: 一般情况下,使用 <%# Container.ItemIndex + 1% > 给序号列来自增. 但是在有分页情况下,这样做的结果就是在下一页的时候重新从一开始. 网上找到的资料是有的解决方案是绑定<%#Container.DataSetIndex+1 %>,还有的是在后台另构造序号列column来解决,都挺麻烦.最后还是找到了最简单的方法解决,就是写个三元运算符判断一下是否第一页 <