页面中代码 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 }
页面显示