WEB开发网
开发学院WEB开发ASP.NET linq 查询分页实例 阅读

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>

 

1 2  下一页

Tags:linq 查询分页实例

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接