C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5727字,纯文字阅读大概需要9分钟。
内容图文
前台代码:
<%@ 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: 100%; 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="1" cellpadding="0" cellspacing="0"> <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>】条数据 当前第【<asp:Label ID="lb_NowPage" runat="server" Text="加载中..."></asp:Label>】页 共【<asp:Label ID="lb_MaxPageNum" runat="server" Text="加载中..."></asp:Label>】页 <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 = 5; protectedvoid Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //首次加载全部数据 Select(1); lb_NowPage.Text = "1"; } //<查询全部>按钮 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(1); } //<查询>按钮void btn_selectsome_Click(object sender, EventArgs e) { //查询绑定数据,并跳至第一页 Select(1); } //<下一页>void btn_next_Click(object sender, EventArgs e) { //获取当前页码和最大页码int NowPageNum = Convert.ToInt32(lb_NowPage.Text); int MaxPageNum = Convert.ToInt32(lb_MaxPageNum.Text); //比较下一页页码和最大页码,只有当下一页页码不大于最大页码时才跳至下一页if (NowPageNum + 1 <= MaxPageNum) { Select(NowPageNum + 1); } } //<上一页>void btn_prev_Click(object sender, EventArgs e) { //获取当前页码int NowPageNum = Convert.ToInt32(lb_NowPage.Text); //比较上一页页码和第一页,只有当上一页页码不小于第一页时才跳至上一页if (NowPageNum - 1 >= 1) { Select(NowPageNum - 1); } } //====================封装方法========================= //查询数据并绑定方法 参数:要跳至的页数 返回:无返回值publicvoid 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 > 0) clist = clist.Where(r => r.Name.Contains(name)); if (brand.Length > 0) clist = clist.Where(r => r.Brand.Contains(brand)); if (price.Length > 0) { 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 - 1) * 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(); } } }
原文:http://www.cnblogs.com/qq450867541/p/6388431.html
内容总结
以上是互联网集市为您收集整理的C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★全部内容,希望文章能够帮你解决C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。