前台代码:

<%@ 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. C#中DateTime的各种操作

    C#时间戳与日期互转 /// <summary> /// 时间戳转为C#格式时间 /// </summary> /// <param name="timeSta ...

  2. java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

    这个问题是说明你的JDBC数据库连接位置出错了,请仔细检查 private static String url; private static String username; private sta ...

  3. 【转】如何避免OOM总结

    原文地址:http://www.csdn.net/article/2015-09-18/2825737/3 减小对象的内存占用 避免OOM的第一步就是要尽量减少新分配出来的对象占用内存的大小,尽量使用 ...

  4. 微信小程序web-view之动态加载html页面

    官方推出的web-view方便了很多开发人员. 我们在做的时候,经常会想到写一个小程序的page然后通过动态加载web-view的形式来完成其他功能页面的开发. 之前研究web-view的时候发现网上 ...

  5. AutoMapper在C#中的有趣应用

    最近发现了一个比较有趣的东西 AutoMapper,主要将Model转换为DTO,DTO更注重数据,对领域对象进行合理封装,从而不会将领域对象的行为过分暴露给表现层. 先来看一点实例,两个类之间的映射 ...

  6. VS中C#连接SQLite数据库处理器架构“x86”不匹配的问题

    原文链接 https://www.cnblogs.com/zhaoliankun/p/9088200.html 我的环境配置:windows 64,VS,SQLite(点击下载),System.Dat ...

  7. 经典的兔子生兔子问题(C#递归解法)

    古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 思路:先求出每个月新增的兔子,再用循环求和即可算出这个月 ...

  8. MvvmLight框架使用入门(四)

    本篇我们着重介绍ViewModelBase,演示Set和RaisePropertyChanged方法的使用,以及就Cleanup方法释放资源展开讨论. ICleanup 接口.实现该接口的ViewMo ...

  9. CF834D The Bakery

    题目链接:戳我 题意:将一个长度为n的序列分为k段,使得总价值最大.一段区间的价值表示为区间内不同数字的个数 \(n<=35000,k<=50\) 开始想的转移方程是这个样子的--\(dp ...

  10. Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)

    问题: Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) 解决: cmake -DPYTHON_INC ...