前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style>
* {
padding: 0px;
margin: 0px;
} #div0 {
width: 1000px;
position: relative;
margin: 0px auto;
} #tb1 {
width: %;
text-align: center;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div id="div0">
Name:<asp:TextBox ID="txt_name" runat="server"></asp:TextBox>
Brand:<asp:TextBox ID="txt_brand" runat="server"></asp:TextBox>
Price:<asp:DropDownList ID="ddl_price" runat="server">
<asp:ListItem Value="=">等于</asp:ListItem>
<asp:ListItem Value=">=">大于等于</asp:ListItem>
<asp:ListItem Value="<=">小于等于</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txt_price" runat="server"></asp:TextBox>
<asp:Button ID="btn_selectsome" runat="server" Text="查询" />
<asp:Button ID="btn_selectall" runat="server" Text="查询全部" />
<br />
<br />
<table id="tb1" border="" cellpadding="" cellspacing="">
<tr style="background-color: navy; color: white;">
<td>Code</td>
<td>Namge</td>
<td>Brand</td>
<td>Time</td>
<td>Oil</td>
<td>Powers</td>
<td>Exhaust</td>
<td>Price</td>
<td>Pic</td>
<td>操作</td>
</tr>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><%#Eval("Code") %></td>
<td><%#Eval("Name") %></td>
<td><%#Eval("Brand") %></td>
<td><%#Eval("Time") %></td>
<td><%#Eval("Oil") %></td>
<td><%#Eval("Powers") %></td>
<td><%#Eval("Exhaust") %></td>
<td><%#Eval("Price") %></td>
<td><%#Eval("Pic") %></td>
<td>
<a href="Update.aspx?name=<%#Eval("name") %>">修改</a>
<a href="Delete.aspx?name=<%#Eval("name") %>">删除</a>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<br />
共【<asp:Label ID="lb_AllInf" runat="server" Text="加载中..."></asp:Label>】条数据&nbsp;
当前第【<asp:Label ID="lb_NowPage" runat="server" Text="加载中..."></asp:Label>】页&nbsp;
共【<asp:Label ID="lb_MaxPageNum" runat="server" Text="加载中..."></asp:Label>】页&nbsp;
<asp:Button ID="btn_prev" runat="server" Text="上一页" />
<asp:Button ID="btn_next" runat="server" Text="下一页" /> </div>
</form>
</body>
</html>

二、后台代码

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
{
//全局变量
//▲▲▲②每页显示的数据条数▲▲▲
int vPagePerCount = ; protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//首次加载全部数据
Select();
lb_NowPage.Text = "";
} //<查询全部>按钮
btn_selectall.Click += btn_selectall_Click;
//<查询>按钮
btn_selectsome.Click += btn_selectsome_Click;
//<下一页>
btn_next.Click += btn_next_Click;
//<上一页>
btn_prev.Click += btn_prev_Click; }
//<查询全部>按钮
void btn_selectall_Click(object sender, EventArgs e)
{
//先清空文本框中的内容
txt_name.Text = "";
txt_brand.Text = "";
ddl_price.SelectedValue = "=";
txt_price.Text = "";
//再查询绑定数据,并跳至第一页
Select();
}
//<查询>按钮
void btn_selectsome_Click(object sender, EventArgs e)
{
//查询绑定数据,并跳至第一页
Select();
}
//<下一页>
void btn_next_Click(object sender, EventArgs e)
{
//获取当前页码和最大页码
int NowPageNum = Convert.ToInt32(lb_NowPage.Text);
int MaxPageNum = Convert.ToInt32(lb_MaxPageNum.Text);
//比较下一页页码和最大页码,只有当下一页页码不大于最大页码时才跳至下一页
if (NowPageNum + <= MaxPageNum)
{
Select(NowPageNum + );
}
}
//<上一页>
void btn_prev_Click(object sender, EventArgs e)
{
//获取当前页码
int NowPageNum = Convert.ToInt32(lb_NowPage.Text);
//比较上一页页码和第一页,只有当上一页页码不小于第一页时才跳至上一页
if (NowPageNum - >= )
{
Select(NowPageNum - );
}
} //====================封装方法=========================
//查询数据并绑定方法 参数:要跳至的页数 返回:无返回值
public void Select(int PageNum)
{
//获取查询条件
string name = txt_name.Text.Trim();
string brand = txt_brand.Text.Trim();
string price = txt_price.Text.Trim();
//查询并绑定数据
using (mydbDataContext con = new mydbDataContext())
{
//查询
IQueryable<Car> clist = con.Car.AsQueryable();
if (name.Length > )
clist = clist.Where(r => r.Name.Contains(name));
if (brand.Length > )
clist = clist.Where(r => r.Brand.Contains(brand));
if (price.Length > )
{
string f = ddl_price.SelectedValue;
if (f == "=")
clist = clist.Where(r => r.Price == Convert.ToDecimal(price));
if (f == ">=")
clist = clist.Where(r => r.Price >= Convert.ToDecimal(price));
if (f == "<=")
clist = clist.Where(r => r.Price <= Convert.ToDecimal(price)); }
//绑定数据
Repeater1.DataSource = clist.Skip((PageNum - ) * vPagePerCount).Take(vPagePerCount);
Repeater1.DataBind();
////修改Label显示
//总数据的条数
decimal AllListCount = clist.Count();
lb_AllInf.Text = AllListCount.ToString();
//最大页数
int MaxPageNum = Convert.ToInt32(Math.Ceiling(AllListCount / vPagePerCount));
lb_MaxPageNum.Text = MaxPageNum.ToString();
//当前页码
lb_NowPage.Text = PageNum.ToString(); }
} }

C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★的更多相关文章

  1. 《MySQL数据操作与查询》- 维护学生信息、老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息

    综合项目需求 一.系统整体功能 系统需支持以下功能: 维护学生信息.老师信息和成绩信息 支持按多种条件组合查询学生信息和成绩信息 学生 Student(id,班级id,学号,姓名,性别,电话,地址,出 ...

  2. solr的多条件组合查询和solr的范围查询【转】

    solr的多条件组合查询和solr的范围查询 版权声明:本文为博主原创文章,供大家参考,但不要抄袭哦! 存在问题:为了减轻数据库的访问压力,往往我们将必要的数据存储到solr中,并给部分字段建立索引, ...

  3. jsp 多条件组合查询

    web层: public String query(HttpServletRequest request, HttpServletResponse response) throws ServletEx ...

  4. LINQ 小项目【组合查询、分页】

    使用 linq 在网页上对用户信息增删改,组合查询,分页显示 using System; using System.Collections.Generic; using System.Linq; us ...

  5. sql语句-如何在SQL以一个表中的数据为条件据查询另一个表中的数据

    select *from 表2where 姓名 in (select 姓名from 表1where 条件) 这个就是用一个表的查询结果当作条件去查询另一个表的数据

  6. SolrJ查询条件组合查询实现——(十六)

    带查询条件的实现原理: 查询按钮被包在一个大表单,表单还有三个隐藏域,一个商品筛选,一个 价格,一个排序,每次点击查询时候清空三个隐藏域,就带着一个大条件去查询;点击下面的筛选条件时,给隐藏域的筛选条 ...

  7. PredicateBuilder类(linq多条件组合查询)

    PredicateBuilder类如下: public static class PredicateBuilder { /// <summary> /// 机关函数应用True时:单个AN ...

  8. MongoDB 多条件组合查询

    组合条件查询json格式语法 { "$and": [ { "Date": { $gt: ISODate("2015-06-05T00:45:00.00 ...

  9. spring boot jpa 多条件组合查询带分页的案例

    spring data jpa 是一个封装了hebernate的dao框架,用于单表操作特别的方便,当然也支持多表,只不过要写sql.对于单表操作,jpake可以通过各种api进行搞定,下面是一个对一 ...

随机推荐

  1. [mysql]设置Ubuntu上的MySQL可以远程访问

    今天在win10上用django连接安装在Ubuntu上的MySQL上,始终提示错误(can not connect mysql),但是在Ubuntu上访问是没有问题的.于是开始查找原因: 1. 33 ...

  2. Efficient algorithms for polyploid haplotype phasing 多倍体单体型分型的有效算法

    背景:单倍型的推断,或沿着相同染色体的等位基因序列,是遗传学中的基本问题,并且是许多分析的关键组分,包括混合物图谱,通过下降和插补识别身份区域. 基于测序读数的单倍型定相引起了很多关注. 已经广泛研究 ...

  3. 无生物学重复RNA-seq分析 CORNAS: coverage-dependent RNA-Seq analysis of gene expression data without biological replicates

    无生物学重复RNA-seq分析 CORNAS: coverage-dependent RNA-Seq analysis of gene expression data without biologic ...

  4. [Training Video - 1] [Selenium Basics] [What is Selenium]

    What is Selenium? Browser Automation Testings Tool: Mozilla IE 6,7,8 Google Chrome Opera 8,9,10 Safa ...

  5. linux每天一小步---head命令详解

    1 命令功能      head命令用来查看文件的前多少行或多少字节的内容(默认显示10行) 2 命令语法 head  [选项参数]  [文件名] 3 命令参数 -q  显示多个文件的内容时不显示文件 ...

  6. Codeforces758C Unfair Poll 2017-01-20 10:24 95人阅读 评论(0) 收藏

    C. Unfair Poll time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. UVA 11235 Frequent values 线段树/RMQ

    vjudge 上题目链接:UVA 11235 *******************************************************大白书上解释**************** ...

  8. java中父类的静态方法不能被重写

    Java中父类的静态方法确实不能被重写的,但是有的人可能去做实验发现在子类中去重写父类static方法时,并没什么问题.这里我来具体解释下. public class Parent { public ...

  9. Concurrent Request:Inactive phase,No Manager status

    Symptom 随便submit一个request,发现几乎所有的Concurrent Manager都为No Manager状态,Phase为Inactive. Solution 一个Concurr ...

  10. Android-bindService本地服务-音乐播放(后台播放)-下

    在上一篇  Android-bindService本地服务-音乐播放-上,博客中是不能在后台中播放到,这次博客增加了一个后台播放 通常情况下,Activity切换到后台,Service提升到前台进程, ...