linq 查询分页实例
2010-11-14 08:09:24 来源:WEB开发网核心提示:在项目中需要查询分页,今天发布一个经过测试的实例添加一个linq to sql 类DataClasses.dbml新建一个测试页面PageBreakTest.aspx,linq 查询分页实例,具体代码如下:<%@ Page Language="C#" AutoEventWireup="
在项目中需要查询分页,今天发布一个经过测试的实例
添加一个linq to sql 类DataClasses.dbml
新建一个测试页面PageBreakTest.aspx,具体代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageBreakTest.aspx.cs" Inherits="PageBreakTest" %>
<%@ Import Namespace="System.Xml.Linq" %>
<%@ Import Namespace="System.Linq" %>
<%
//linq to sql 类
DataClassesDataContext db = new DataClassesDataContext();
string ClassID = Request["ClassID"]; //参数
ClassID = "100";//我这里没有实际参数,根据自己数据表中的数据随便给了一个值
int recordcount = 0;
string StarPage = string.Empty;
%>
<html>
<head runat="server">
<title>Linq分页测试</title>
</head>
<body>
<ul>
<%
try
{
//db.tn_article 数据表
//article_classid 参数对应的字段
var artcleList = from artcle in db.tn_article where artcle.article_classid == int.Parse(ClassID) orderby artcle.article_id descending select artcle;
recordcount = artcleList.Count();
if (recordcount != 0)
{
int Record = string.IsNullOrEmpty(Request["Record"]) ? 20 : int.Parse(Request["Record"]);
int PageNum = string.IsNullOrEmpty(Request["PageNum"]) ? 1 : int.Parse(Request["PageNum"]);
//分页器 PageBreak(每页显示条数,第几页,总记录数,显示页面地址,参数)
StarPage = PageBreak(ref Record, ref PageNum, recordcount, "PageBreakTest.aspx", "<input type=\"hidden\" name=\"ClassID\" value=\"" + Request["ClassID"] + "\"/>");
//无参数情况
//StarPage = PageBreak(ref Record, ref PageNum, recordcount, "PageBreakTest.aspx", "");
//多参数情况
//StarPage = PageBreak(ref Record, ref PageNum, recordcount, "PageBreakTest.aspx", "<input type='hidden' name='numberStr' value='" +Request["ClassID"] + "'/><input type='hidden' name='titleStr' value='" + titleStr + "'/><input type='hidden' name='applydept' value='" + applydept + "'/>");
var ta1 = artcleList.Skip(Record * (PageNum - 1)).Take(Record);
foreach (tn_article ta in ta1)
{
%>
<li>
<%=ta.article_title%></li>
<%
}
}
else
{
Response.Write("<li>没有找到相关信息!</li>");
}
db.Dispose();
}
catch (Exception ex)
{
//db.Dispose();
//Response.Write("<li>请稍候访问!服务器正忙!</li>");
throw new Exception(ex.Message);
}
%>
</ul>
<div>
<%=StarPage%>
</div>
</body>
</html>
更多精彩
赞助商链接
