• LinQ 组合查分页


    页面中代码 js光棒效果

    <form id="form1" runat="server">
        昵称:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            性别:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            出生年份:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="查询" /><br />
            <a target="_blank" href="Insert.aspx">添加</a>   
            <asp:repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table id="table" style="background-color:navy;100%;text-align:center;">
                    <tr id="t-head" style="color:white;">
                    <td>用户名</td>
                     <td>密码</td>
                     <td>昵称</td>
                     <td>性别</td>
                     <td>生日</td>
                     <td>民族</td>
                    <td>操作</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                  <tr class="t-item" style="background-color:white;">
                    <td><%#Eval("UserName") %></td>
                     <td><%#Eval("Pword") %></td>
                     <td><%#Eval("NickName") %></td>
                     <td ><%#Eval("Sexpic") %></td>
                     <td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
                     <td><%#Eval("NationName") %></td> 
                      <td>
                          <a onclick="return del();" href="Delete.aspx?id=<%#Eval("UserName") %>">删除</a>
                          <a target="_blank" href="Update.aspx?id=<%#Eval("UserName") %>">修改</a>
                      </td>     
                    </tr>
            </ItemTemplate>
            <FooterTemplate>
                   </table>
            </FooterTemplate>
        </asp:repeater>
            <asp:HiddenField ID="HiddenField1" runat="server" />
            <asp:HiddenField ID="HiddenField2" runat="server" />
            <asp:HiddenField ID="HiddenField3" runat="server" />
            当前第【<asp:Label ID="Label_now" runat="server" Text="Label"></asp:Label>】页 
            共【<asp:Label ID="Label_max" runat="server" Text="Label"></asp:Label>】页
            <asp:LinkButton ID="LinkButton_prev" runat="server">上一页</asp:LinkButton>
            <asp:LinkButton ID="LinkButton_next" runat="server">下一页</asp:LinkButton>
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
            <asp:Button ID="Button2" runat="server" Text="跳转" />
        </form>
    
    
    
    
    <script>
        var item = document.getElementsByClassName("t-item");
        for (var v = 0; v < item.length; v++) {
            item[v].onmouseover = function () {
                if (this.style.backgroundColor == "white")
                this.style.backgroundColor = "yellow";//移入变黄色
            };
            item[v].onmouseout = function () {
                if (this.style.backgroundColor == "yellow")
                this.style.backgroundColor = "white";//移出变白色
            };
            item[v].onclick = function () {
                for (var j = 0; j < item.length; j++)
                {
                    item[j].style.backgroundColor = "white";
                }
                this.style.backgroundColor = "red";//点击变红色
            };
        }
    </script>
    页面代码 

    后台封装查询方法 

     1  private IQueryable<Users> Select(Data0720DataContext con)
     2     {
     3         IQueryable<Users> ALL = con.Users.AsQueryable();
     4         if (HiddenField1.Value.Length > 0)//文本框输入有内容 取集合的交集
     5         {
     6             var Namelist = con.Users.Where(r => r.NickName.Contains(TextBox1.Text.Trim()));
     7             ALL = ALL.Intersect(Namelist);
     8         }
     9         if (HiddenField2.Value == "" || HiddenField2.Value == "")
    10         {
    11             var sexlist = con.Users.Where(r => Convert.ToBoolean(r.Sex) == (TextBox2.Text.Trim() == "" ? true : false));
    12             ALL = ALL.Intersect(sexlist);
    13         }
    14         if (HiddenField3.Value.Length > 0)
    15         {
    16             try
    17             {
    18                 int year = Convert.ToInt32(TextBox3.Text.Trim());
    19                 var yearlist = con.Users.Where(r => Convert.ToDateTime(r.Birthday).Year == year);
    20                 ALL = ALL.Intersect(yearlist);
    21             }
    22             catch
    23             {
    24             }
    25         }
    26         return ALL;
    27     }
    查询方法

    后台封装求最大页数的方法

     1 public int MaxPageNumber()
     2     {
     3         using (Data0720DataContext con = new Data0720DataContext())
     4         {
     5             var All = Select(con);
     6             double nu = All.ToList().Count / (Pagecount * 1.0);
     7             int num = Convert.ToInt32(Math.Ceiling(nu));
     8             return num;
     9 
    10         }
    11     }
    求最大页数

    后台绑定数据

     1 int Pagecount = 2;//定义每页显示的数据条数
     2     protected void Page_Load(object sender, EventArgs e)
     3     {
     4         if (!IsPostBack)
     5         {
     6 
     7             using (Data0720DataContext con = new Data0720DataContext())
     8             {
     9                 Repeater1.DataSource = Select(con).Take(Pagecount);
    10                 Repeater1.DataBind();
    11                 Label_now.Text = "1";
    12                 Label_max.Text = MaxPageNumber().ToString();
    13             }
    14         }
    15         Button1.Click += Button1_Click;//查询
    16         LinkButton_prev.Click += LinkButton_prev_Click;//上一页
    17         LinkButton_next.Click += LinkButton_next_Click;//下一页
    18         Button2.Click += Button2_Click;//跳转
    19     }
    绑定数据

    查询

     1 void Button1_Click(object sender, EventArgs e)//查询
     2     {
     3         HiddenField1.Value = TextBox1.Text.Trim();
     4         HiddenField2.Value = TextBox2.Text.Trim();
     5         HiddenField3.Value = TextBox3.Text.Trim();
     6         using (Data0720DataContext con = new Data0720DataContext())
     7         {
     8             var All = Select(con);
     9 
    10             Repeater1.DataSource = All.Take(Pagecount).ToList();
    11             Repeater1.DataBind();
    12             Label_now.Text = "1";
    13             Label_max.Text = MaxPageNumber().ToString();
    14         }
    15     }
    查询按钮

    下一页

     1 void LinkButton_next_Click(object sender, EventArgs e)//下一页
     2     {
     3         int NowNumber = Convert.ToInt32(Label_now.Text) + 1;
     4 
     5         using (Data0720DataContext con = new Data0720DataContext())
     6         {
     7             var All = Select(con);
     8             Repeater1.DataSource = All.Skip(Pagecount * (NowNumber - 1)).Take(Pagecount).ToList();
     9             Repeater1.DataBind();
    10         }
    11         if (NowNumber > Convert.ToInt32(Label_max.Text))
    12         {
    13             return;
    14         }
    15         Label_now.Text = NowNumber.ToString();
    16     }
    下一页

    上一页 

     1 void LinkButton_prev_Click(object sender, EventArgs e)//上一页
     2     {
     3         int NowNumber = Convert.ToInt32(Label_now.Text) - 1;
     4         if (NowNumber <= 1)
     5         {
     6             return;
     7         }
     8         using (Data0720DataContext con = new Data0720DataContext())
     9         {
    10             var All = Select(con);
    11             Repeater1.DataSource = All.Skip(Pagecount * (NowNumber - 1)).Take(Pagecount).ToList();
    12             Repeater1.DataBind();
    13         }
    14 
    15         Label_now.Text = NowNumber.ToString();
    16     }
    上一页

    跳转到那一页

     1 void Button2_Click(object sender, EventArgs e)//跳转
     2     {
     3         using (Data0720DataContext con = new Data0720DataContext())
     4         {
     5             var All = Select(con);
     6             Repeater1.DataSource = All.Skip(Pagecount * (Convert.ToInt32(TextBox4.Text) - 1)).Take(Pagecount).ToList();
     7             Repeater1.DataBind();
     8         }
     9         Label_now.Text = TextBox4.Text;
    10     }
    跳转

     页面显示

  • 相关阅读:
    Minimum Inversion Number
    作业四
    牛客小白月赛18 G Forsaken的三维数点
    The Accomodation of Students HDU
    03-Bootstrap学习
    jquery 单击和双击事件冲突解决方案
    13-JS中的面向对象
    12-关于DOM操作的相关案例
    IO多路复用
    python读取excel文件
  • 原文地址:https://www.cnblogs.com/fuze/p/6382419.html
Copyright © 2020-2023  润新知