Linq高级查询
模糊查询()包含
Repeater1.DataSource = con.Users.Where(r=>r.nick.Contains(a)).ToList();
Repeater1.DataBind();
根据开头查
Repeater1.DataSource = con.Users.Where(r => r.nick.StartsWith(a)).ToList();
Repeater1.DataBind();
根据结尾查
Repeater1.DataSource = con.Users.Where(r => r.nick.EndsWith(a)).ToList();
Repeater1.DataBind();
查询个数
IEnumerable<Users> uie = con.Users; Repeater1.DataSource = uie; Repeater1.DataBind(); Num.Text = uie.Count().ToString();
或者
List<Users> uie = con.Users.ToList(); Repeater1.DataSource = uie; Repeater1.DataBind(); Num.Text = uie.Count.ToString();
最大值
Num.Text = con.Users.Max(r => r.code).ToString();
Repeater1.DataBind();
最小值
Num.Text = con.Users.Min(r => r.code).ToString();
Repeater1.DataBind();
平均值:
Num.Text = con.Users.Average(r => r.code).ToString();
Repeater1.DataBind();
求和
Num.Text = con.Users.Sum(r => r.code).ToString();
Repeater1.DataBind();
升序
Repeater1.DataSource = con.Users.OrderBy(r=>r.code);
Repeater1.DataBind();
降序
Repeater1.DataSource = con.Users.OrderByDescending(r => r.code);
Repeater1.DataBind();
分页
Repeater1.DataSource = con.Users.Skip(5).Take(5);//跳过5个元素取5个元素 Repeater1.DataBind();
实例:
<%@ 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"> <div> <table style=" 100%; background-color: yellow;"> <tr style="background-color: blue; color: white;"> <td>用户名</td> <td>密码</td> <td>昵称</td> <td>性别</td> <td>民族</td> <td>班级</td> <td>生日</td> <td>操作</td> </tr> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <tr class="t-body"> <td><%#Eval("usename") %></td> <td><%#Eval("password") %></td> <td><%#Eval("nick") %></td> <td> <img src="<%#Eval("sexStr") %>" /> </td> <td><%#Eval("Nationname") %></td> <td><%#Eval("Classname") %></td> <td><%#Eval("birthdayStr") %></td> <td> <asp:LinkButton ID="LinkButton2" runat="server" CommandName="Update" CommandArgument='<%#Eval("code") %>'>修改</asp:LinkButton> <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Delete" CommandArgument='<%#Eval("code") %>'>删除</asp:LinkButton></td> </tr> </ItemTemplate> </asp:Repeater> </table> 当前第<asp:Label ID="txt" runat="server" Text="1"></asp:Label>页 <asp:Button ID="prve" runat="server" Text="上一页" /><asp:Button ID="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 count = 3; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using(Data1128DataContext con=new Data1128DataContext()) { Repeater1.DataSource = con.Users.Take(count); Repeater1.DataBind(); } } prve.Click += prve_Click; next.Click += next_Click; } //上一页 void prve_Click(object sender, EventArgs e) { int nowpage = Convert.ToInt32(txt.Text) - 1; if (nowpage < 1) return; txt.Text = nowpage.ToString(); using (Data1128DataContext con = new Data1128DataContext()) { Repeater1.DataSource = con.Users.Skip((nowpage-1)*count).Take(count); Repeater1.DataBind(); } } //下一页 void next_Click(object sender, EventArgs e) { using (Data1128DataContext con = new Data1128DataContext()) { int nowpage = Convert.ToInt32(txt.Text) + 1; int maxpage = Convert.ToInt32(Math.Ceiling((con.Users.Count() * 1.0) / count)); if (nowpage > maxpage) return; txt.Text = nowpage.ToString(); Repeater1.DataSource = con.Users.Skip((nowpage - 1) * count).Take(count); Repeater1.DataBind(); } } }