LinQ--高级查询

<%@ 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>
</head>
<body>
    <form id="form1" runat="server">
        模糊查:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="模糊查" />
        <asp:Button ID="Button2" runat="server" Text="开头查" />
        <asp:Button ID="Button3" runat="server" Text="结尾查" /><br />
        ---------------------------------------------------------------------<br />
        价格数据统计:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <asp:Button ID="Button4" runat="server" Text="最大值" />
        <asp:Button ID="Button5" runat="server" Text="最小值" />
        <asp:Button ID="Button6" runat="server" Text="求和" />
        <asp:Button ID="Button7" runat="server" Text="平均值" /><br />
        ---------------------------------------------------------------------<br />
        价格排序:<asp:Button ID="Button8" runat="server" Text="升序" />
        <asp:Button ID="Button9" runat="server" Text="降序" />
        <br />
        ---------------------------------------------------------------------<br />
        名称:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        油耗:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        马力:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
        <asp:Button ID="Button10" runat="server" Text="查询" />
        <br />
        ---------------------------------------------------------------------<br />
        <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table style="background-color: navy; width: 100%; text-align: center;">
                    <tr style="color: white;">
                        <td>ID</td>
                        <td>编号</td>
                        <td>名称</td>
                        <td>系别</td>
                        <td>时间</td>
                        <td>油耗</td>
                        <td>马力</td>
                        <td>排量</td>
                        <td>价格</td>
                        <td>图片</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr style="background-color: white;">
                    <td><%#Eval("ids") %></td>
                    <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>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater><br />
        当前第[<asp:Label ID="PageCount_Label" runat="server" Text="Label"></asp:Label>]页,
        <asp:Button ID="btn_prev" runat="server" Text="上一页" />&nbsp;
        <asp:Button ID="btn_next" runat="server" Text="下一页" />




    </form>
</body>
</html>
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
{
    mydbDataContext con = new mydbDataContext();
    int PageCount = 5;//每页显示条数
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            PageCount_Label.Text = "1";
            Repeater1.DataSource = con.car.Take(PageCount);
            Repeater1.DataBind();



        }
        Button1.Click += Button1_Click;//模糊查
        Button2.Click += Button2_Click;//开头查
        Button3.Click += Button3_Click;//结尾查
        Button4.Click += Button4_Click;//最大值
        Button5.Click += Button5_Click;//最小值
        Button6.Click += Button6_Click;//求和
        Button7.Click += Button7_Click;//平均值
        Button8.Click += Button8_Click;//升序
        Button9.Click += Button9_Click;//降序
        btn_next.Click += btn_next_Click;//下一页
        btn_prev.Click += btn_prev_Click;//上一页
        Button10.Click += Button10_Click;//组合查询


    }

    void Button10_Click(object sender, EventArgs e)
    {
        List<car> list = con.car.ToList();

        if (TextBox2.Text != "")
        {
            List<car> list1 = con.car.Where(r => r.name.Contains(TextBox2.Text)).ToList();

            list = list.Intersect(list1).ToList();
        }
        if (TextBox3.Text != "")
        {
            List<car> list1 = con.car.Where(r => r.oil == Convert.ToDecimal(TextBox3.Text)).ToList();

            list = list.Intersect(list1).ToList();
        }
        if (TextBox4.Text != "")
        {
            List<car> list1 = con.car.Where(r => r.powers == Convert.ToInt32(TextBox4.Text)).ToList();

            list = list.Intersect(list1).ToList();
        }


        Repeater1.DataSource = list;
        Repeater1.DataBind();
    }

    void btn_prev_Click(object sender, EventArgs e)
    {
        int pageNum = Convert.ToInt32(PageCount_Label.Text) - 1;

        Repeater1.DataSource = con.car.Skip((pageNum - 1) * PageCount).Take(PageCount);
        Repeater1.DataBind();
        PageCount_Label.Text = pageNum.ToString();
    }

    void btn_next_Click(object sender, EventArgs e)
    {
        int pageNum = Convert.ToInt32(PageCount_Label.Text) + 1;

        Repeater1.DataSource = con.car.Skip((pageNum - 1) * PageCount).Take(PageCount);
        Repeater1.DataBind();
        PageCount_Label.Text = pageNum.ToString();

    }

    void Button9_Click(object sender, EventArgs e)
    {
        Repeater1.DataSource = con.car.OrderByDescending(r => r.price).ToList();
        Repeater1.DataBind();
    }

    void Button8_Click(object sender, EventArgs e)
    {
        Repeater1.DataSource = con.car.OrderBy(r => r.price).ToList();
        Repeater1.DataBind();
    }

    void Button7_Click(object sender, EventArgs e)
    {
        Label1.Text = con.car.Average(r => r.price).ToString();
    }

    void Button6_Click(object sender, EventArgs e)
    {
        Label1.Text = con.car.Sum(r => r.price).ToString();
    }

    void Button5_Click(object sender, EventArgs e)
    {
        Label1.Text = con.car.Min(r => r.price).ToString();
    }

    void Button4_Click(object sender, EventArgs e)
    {
        Label1.Text = con.car.Max(r => r.price * r.oil).ToString();
    }

    #region 模糊查们
    void Button3_Click(object sender, EventArgs e)
    {
        Repeater1.DataSource = con.car.Where(r => r.name.EndsWith(TextBox1.Text)).ToList();
        Repeater1.DataBind();
    }

    void Button2_Click(object sender, EventArgs e)
    {
        Repeater1.DataSource = con.car.Where(r => r.name.StartsWith(TextBox1.Text)).ToList();
        Repeater1.DataBind();
    }

    void Button1_Click(object sender, EventArgs e)
    {
        List<car> list = con.car.Where(r => r.name.Contains(TextBox1.Text.Trim())).ToList();


        Repeater1.DataSource = list;
        Repeater1.DataBind();
    }
    #endregion





}
后台C#代码

 

 

posted @ 2016-10-17 19:49  庚xiao午  阅读(112)  评论(0编辑  收藏  举报