前端代码

  1. <%@ Page Language="C#" AutoEventWireup="true" Debug="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2.  
  3. <!DOCTYPE html>
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title></title>
  9. <script src="DatePicker/WdatePicker.js"></script>
  10. </head>
  11. <body>
  12. <form id="form1" runat="server">
  13. <div>
  14. <br />
  15. 编号:<asp:TextBox ID="code_text" style="width:50px;" runat="server"></asp:TextBox>
  16. 汽车名:<asp:TextBox ID="carname_text" runat="server"></asp:TextBox>
  17. 系列:<asp:TextBox ID="brand_text" runat="server"></asp:TextBox>
  18. 时间段:<asp:TextBox ID="date_text1" class="date" runat="server"></asp:TextBox>
  19. <asp:TextBox ID="date_text2" class="date" runat="server"></asp:TextBox><br />
  20. 油耗:<asp:DropDownList ID="dr_oil" runat="server">
  21. <asp:ListItem Text="全部" Value="null"></asp:ListItem>
  22. <asp:ListItem Text="大于8.0" Value="dayu8.0"></asp:ListItem>
  23. <asp:ListItem Text="5.0到8.0" Value="5.0zhi8.0"></asp:ListItem>
  24. <asp:ListItem Text="低于5.0" Value="diyu5.0"></asp:ListItem>
  25. </asp:DropDownList>
  26. 排量:<asp:TextBox ID="p_text1" runat="server"></asp:TextBox>
  27. <asp:TextBox ID="p_text2" runat="server"></asp:TextBox>
  28. 价格:<asp:TextBox ID="price_text1" runat="server"></asp:TextBox>
  29. <asp:TextBox ID="price_text2" runat="server"></asp:TextBox>
  30. <asp:Button ID="btn_select" runat="server" Text="查询" />
  31. <br /><br />
  32. <table style="width:100%;background-color:navy;">
  33. <tr style="font-size:25px;color:white;">
  34. <td>Ids</td>
  35. <td>编号</td>
  36. <td>汽车名</td>
  37. <td>系列</td>
  38. <td>时间</td>
  39. <td>油耗</td>
  40. <td>马力</td>
  41. <td>排量</td>
  42. <td>价格</td>
  43. </tr>
  44.  
  45. <asp:Repeater ID="Repeater1" runat="server">
  46. <ItemTemplate>
  47. <tr style="background-color:white;">
  48. <td><%#Eval("ids") %></td>
  49. <td><%#Eval("code") %></td>
  50. <td><%#Eval("name") %></td>
  51. <td><%#Eval("brand") %></td>
  52. <td><%#Eval("time") %></td>
  53. <td><%#Eval("oil") %></td>
  54. <td><%#Eval("powers") %></td>
  55. <td><%#Eval("exhaust") %></td>
  56. <td><%#Eval("price") %></td>
  57. </tr>
  58. </ItemTemplate>
  59. </asp:Repeater>
  60. </table>
  61.  
  62. 当前第[<asp:Label ID="lable_now" runat="server" Text=""></asp:Label>]页,共[<asp:Label ID="lable_zong" runat="server" Text=""></asp:Label>]页
  63. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  64. <asp:Button ID="btn_begin" runat="server" Text="首页" />
  65. <asp:Button ID="btn_prev" runat="server" Text="上一页" />
  66. <asp:Button ID="btn_next" runat="server" Text="下一页" />
  67. <asp:Button ID="btn_end" runat="server" Text="尾页" />
  68. &nbsp; &nbsp; &nbsp; &nbsp;
  69. <asp:DropDownList ID="dr_jump" runat="server"></asp:DropDownList>
  70. <asp:Button ID="btn_jump" runat="server" Text="跳转" />
  71. </div>
  72. </form>
  73. </body>
  74. </html>
  75. <script type="text/javascript">
  76. var date = document.getElementsByClassName("date");
  77. for (var i = ; i < date.length; i++)
  78. {
  79. date[i].onfocus = function () {
  80. WdatePicker({ readOnly: true, maxDate: '%y-%M-%d' });
  81. }
  82. }
  83. </script>

后端代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7.  
  8. public partial class _Default : System.Web.UI.Page
  9. {
  10. //每一页 显示多少条数据 5条
  11. int pagecount = ;
  12.  
  13. #region 页面加载时 绑定的数据
  14. protected void Page_Load(object sender, EventArgs e)
  15. {
  16. if (!IsPostBack)
  17. {
  18.  
  19. Repeater1.DataSource = SelectToList().Take(pagecount);
  20. Repeater1.DataBind();
  21. lable_now.Text = "";
  22.  
  23. }
  24.  
  25. // 绑定事件
  26. btn_select.Click += btn_select_Click;
  27. btn_begin.Click += btn_begin_Click;
  28. btn_end.Click += btn_end_Click;
  29. btn_next.Click += btn_next_Click;
  30. btn_prev.Click += btn_prev_Click;
  31. btn_jump.Click += btn_jump_Click;
  32. #endregion
  33. }
  34.  
  35. void btn_jump_Click(object sender, EventArgs e)
  36. {
  37. int a = Convert.ToInt32(dr_jump.SelectedValue);
  38. if (a == )
  39. {
  40. btn_begin.Visible = false;
  41. btn_prev.Visible = false;
  42. btn_end.Visible = true;
  43. btn_next.Visible = true;
  44. }
  45. else if (a.ToString() == lable_zong.Text)
  46. {
  47. btn_end.Visible = false;
  48. btn_next.Visible = false;
  49. btn_begin.Visible = true;
  50. btn_prev.Visible = true;
  51. }
  52. else
  53. {
  54. btn_begin.Visible = true;
  55. btn_prev.Visible = true;
  56. btn_end.Visible = true;
  57. btn_next.Visible = true;
  58. }
  59. Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
  60. Repeater1.DataBind();
  61. lable_now.Text = a.ToString();
  62. }
  63.  
  64. void btn_prev_Click(object sender, EventArgs e)
  65. {
  66.  
  67. int a = Convert.ToInt32(lable_now.Text) - ;
  68. //假设到 首页 上一页 和 首页隐藏
  69. if (a < )
  70. {
  71. btn_begin.Visible = false;
  72. btn_prev.Visible = false;
  73. return;
  74. }
  75. btn_begin.Visible = true;
  76. btn_prev.Visible = true;
  77. btn_end.Visible = true;
  78. btn_next.Visible = true;
  79. Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
  80. Repeater1.DataBind();
  81. lable_now.Text = a.ToString();
  82. }
  83.  
  84. void btn_next_Click(object sender, EventArgs e)
  85. {
  86.  
  87. int a = Convert.ToInt32(lable_now.Text) + ;
  88. //假设到尾页时 下一页和尾页隐藏
  89. if (a > Convert.ToInt32(lable_zong.Text))
  90. {
  91.  
  92. btn_end.Visible = false;
  93. btn_next.Visible = false;
  94. return;
  95. }
  96. btn_begin.Visible = true;
  97. btn_prev.Visible = true;
  98. btn_end.Visible = true;
  99. btn_next.Visible = true;
  100. Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
  101. Repeater1.DataBind();
  102. lable_now.Text = a.ToString();
  103. }
  104.  
  105. void btn_end_Click(object sender, EventArgs e)
  106. {
  107. //假设到尾页时 下一页和尾页隐藏 上一页和首页显示
  108. btn_end.Visible = false;
  109. btn_next.Visible = false;
  110. btn_begin.Visible = true;
  111. btn_prev.Visible = true;
  112. //数据显示尾页数据
  113. int a = Convert.ToInt32(lable_zong.Text);
  114. Repeater1.DataSource = SelectToList().Skip((a - ) * pagecount).Take(pagecount);
  115. Repeater1.DataBind();
  116. lable_now.Text = a.ToString();
  117. }
  118.  
  119. void btn_begin_Click(object sender, EventArgs e)
  120. {
  121. //假设 到首页时 上一页和首页隐藏
  122. btn_begin.Visible = false;
  123. btn_prev.Visible = false;
  124. btn_end.Visible = true;
  125. btn_next.Visible = true;
  126. //数据 首页 数据绑定
  127. Repeater1.DataSource = SelectToList().Take(pagecount);
  128. Repeater1.DataBind();
  129. lable_now.Text = "";
  130. }
  131.  
  132. void btn_select_Click(object sender, EventArgs e)
  133. {
  134.  
  135. lable_now.Text = "";
  136. Repeater1.DataSource = SelectToList().Take(pagecount);
  137. Repeater1.DataBind();
  138. }
  139.  
  140. //查询数据的方法
  141. public List<car> SelectToList()
  142. {
  143. using (CarDataContext con = new CarDataContext())
  144. {
  145. List<car> clist = con.car.ToList();
  146. //编号 code
  147. if (code_text.Text.Trim().Length > )
  148. {
  149. //包含 code
  150. clist = clist.Where(r => r.code.Contains(code_text.Text.Trim())).ToList();
  151. }
  152. //查汽车名
  153. if (carname_text.Text.Trim().Length > )
  154. {
  155.  
  156. clist = clist.Where(r => r.name.Contains(carname_text.Text.Trim())).ToList();
  157. }
  158. //查时间段
  159. if (date_text1.Text.Trim().Length > )
  160. {
  161. clist = clist.Where(r => Convert.ToDateTime(r.time).Date >= Convert.ToDateTime(date_text1.Text).Date).ToList();
  162.  
  163. }
  164. if (date_text2.Text.Trim().Length > )
  165. {
  166. clist = clist.Where(r => Convert.ToDateTime(r.time).Date <=Convert.ToDateTime(date_text2.Text).Date).ToList();
  167. }
  168. //查油耗 oil
  169. if (dr_oil.SelectedValue == "dayu8.0")
  170. {
  171. clist = clist.Where(r => Convert.ToDecimal(r.oil) >= Convert.ToDecimal(8.0)).ToList();
  172. }
  173. else if (dr_oil.SelectedValue == "5.0zhi8.0")
  174. {
  175. clist = clist.Where(r => Convert.ToDecimal(r.oil) > Convert.ToDecimal(5.0) && Convert.ToDecimal(r.oil) < Convert.ToDecimal(8.0)).ToList();
  176. }
  177. else if (dr_oil.SelectedValue == "diyu5.0")
  178. {
  179. clist = clist.Where(r => Convert.ToDecimal(r.oil) <= Convert.ToDecimal(5.0)).ToList();
  180. }
  181. //查 排量exhaus列
  182. if (p_text1.Text.Trim().Length > )
  183. {
  184. clist = clist.Where(r => Convert.ToInt32(r.exhaust) >= Convert.ToInt32(p_text1.Text.Trim())).ToList();
  185. }
  186. if (p_text2.Text.Trim().Length > )
  187. {
  188. clist = clist.Where(r => Convert.ToInt32(r.exhaust) <= Convert.ToInt32(p_text2.Text.Trim())).ToList();
  189. }
  190. //查价格price
  191. if (price_text1.Text.Trim().Length > )
  192. {
  193. clist = clist.Where(r => Convert.ToDecimal(r.price) >= Convert.ToDecimal(price_text1.Text.Trim())).ToList();
  194. }
  195. if (price_text2.Text.Trim().Length > )
  196. {
  197. clist = clist.Where(r => Convert.ToDecimal(r.price) <= Convert.ToDecimal(price_text2.Text.Trim())).ToList();
  198. }
  199. int a = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(clist.Count) / pagecount));
  200. lable_zong.Text = a.ToString();
  201.  
  202. dr_jump.Items.Clear();
  203. for (int i = ; i <= a; i++)
  204. {
  205. ListItem li = new ListItem(i.ToString(), i.ToString());
  206. dr_jump.Items.Add(li);
  207. }
  208.  
  209. return clist;
  210. }
  211. }
  212.  
  213. }

LINQ 组合查询 和分页查询的使用的更多相关文章

  1. Linq高级查询,分页查询及查询分页结合

    一.高级查询与分页查询 1.以...开头    StartsWith Repeater1.DataSource=con.Users.Where(r=>r.Nickname.StartsWith( ...

  2. SQL Server -- 回忆笔记(四):case函数,索引,子查询,分页查询,视图,存储过程

    SQL Server知识点回忆篇(四):case函数,索引,子查询,分页查询,视图,存储过程 1. CASE函数(相当于C#中的Switch) then '未成年人' else '成年人' end f ...

  3. MySQL——优化嵌套查询和分页查询

    优化嵌套查询 嵌套查询(子查询)可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中.嵌套查询写起来简单,也容易理解.但是,有时候可以被更有效率的连接(JOIN ...

  4. SQL语句or查询,union all查询,分页查询,分组,AND查询

    一.OR查询 1.在AND多个筛选条件和一个or条件时,如果没有括号包裹,or会就近原则包裹之后的所有and条件,也就是同级的多个and条件只能对,or条件的一边起作用 2.如果or条件两边的筛选条件 ...

  5. DQL---连接查询(内连接、外连接)、子查询、分页查询

    一.连接查询 1.连接查询建立在有相互关系的两个表间,进行两个及两个以上的表或视图的查询. 2.对n张表进行查询,至少需要n-1个连接表的条件. 二.笛卡尔积(容易造成数据库宕机) 1.指表中每行元素 ...

  6. hibernate总记录数查询和分页查询

    //参考代码 //第一种方法: String hql = "select count(*) from User as user"; Integer count = (Integer ...

  7. TP条件查询和分页查询

    一.条件查询 前端页面 <!doctype html> <html> <head> <meta charset="utf-8"> & ...

  8. Oracle子查询相关内容(包含TOP-N查询和分页查询)

    本节介绍Oracle子查询的相关内容: 实例用到的数据为oracle中scott用户下的emp员工表,dept部门表,数据如下: 一.子查询 1.概念:嵌入在一个查询中的另一个查询语句,也就是说一个查 ...

  9. mysql-in关键字,分组查询,分页查询

    1. in关键字,组查询 # 使用or来查询的化,不方便而且参数一多比较傻 select * from users where id=1 or id=2 or id=4; select * from ...

  10. Elasticsearch教程(九) elasticsearch 查询数据 | 分页查询

    Elasticsearch  的查询很灵活,并且有Filter,有分组功能,还有ScriptFilter等等,所以很强大.下面上代码: 一个简单的查询,返回一个List<对象> ..    ...

随机推荐

  1. nodejs写文件

    var fs = require('fs'); 2 var txt = "以上程序使用fs.readFileSync从源路径读取文件内容,并使用fs.writeFileSync将文件内容写入 ...

  2. Windows下git的安装与配置

    表示git安装成功.

  3. Google Analytics添加到网站

    把Google Analytics添加到网站的具体方式 https://developers.google.com/analytics/devguides/collection/analyticsjs ...

  4. 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)

    传送门 公式太长了……我就直接抄一下这位大佬好了……实在懒得打了 首先据说$d(ij)$有个性质$$d(ij)=\sum_{x|i}\sum_{y|j}[gcd(x,y)=1]$$ 我们所求的答案为$ ...

  5. java中对List进行分组和排序

    排序 对List进行排序,有两种办法 第一个是用java提供的工具类Collections提供的sort方法进行排序 废话不多说,上代码 首先定义一个Student public class Stud ...

  6. 笔记-JavaWeb学习之旅18

    AJAX:ASynchronous JavaScript And XML 异步的JavaScript 和XML 异步和同步:客户端和服务器端相互通信的基础上 同步:客户端操作后必须等待服务器端的响应, ...

  7. C 语言实例 - 判断正数/负数

    C 语言实例 - 判断正数/负数 用户输入一个数字,判断该数字是正数还是负数或是零. 实例 #include <stdio.h> int main() { double number; p ...

  8. 解决windows下nginx中文文件名乱码

    我的根目录文件夹放在d盘work文件夹下,一般这样配置 nginx\conf\nginx.conf location / { root D:/work; index index_bak.html; a ...

  9. jsp内置对象作用域白话演示

    内置对象就是JSP中不需要自己定义和声明的对象,可以在JSP中直接使用.JSP中有9大内置对象,它们有两个常用的方法:setAttribute("key","value& ...

  10. Java中的"\t"

    \t相当于表格制表符tab键,一个格内放8的整数倍的字符,根据显示的字符串长度,剩下的显示空格数.比如:字符串长度为1,那么距离下一个串的空格数应该是8-1=7:如果字符串长度为2,那么距离下一个串的 ...