<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        asp.net中Datalist使用數字分頁的實現方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:43:01
        文檔

        asp.net中Datalist使用數字分頁的實現方法

        asp.net中Datalist使用數字分頁的實現方法: 代碼如下:<%@ Page Language=C# AutoEventWireup=true CodeFile=Test(Datalist數字分頁).aspx.cs Inherits=Test_Datalist數字分頁_ %> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1
        推薦度:
        導讀asp.net中Datalist使用數字分頁的實現方法: 代碼如下:<%@ Page Language=C# AutoEventWireup=true CodeFile=Test(Datalist數字分頁).aspx.cs Inherits=Test_Datalist數字分頁_ %> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1

        代碼如下:

        <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test(Datalist數字分頁).aspx.cs" Inherits="Test_Datalist數字分頁_" %>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head runat="server">
        <title>無標題頁</title>
        <link href="CSS/CSS.css" rel="stylesheet" type="text/css" />
        </head>
        <body>
        <form id="form1" runat="server">
        <div>
        <asp:DataList ID="DataList1" runat="server">
        <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("mid") %>'></asp:Label>
        </ItemTemplate>
        </asp:DataList>
        </div>
        <br />
        <div id="PageInfo" runat="server" class="LPageBar"></div>
        </form>
        </body>
        </html>

        CS代碼:
        代碼如下:

        using System;
        using System.Collections;
        using System.Configuration;
        using System.Data;
        using System.Linq;
        using System.Web;
        using System.Web.Security;
        using System.Web.UI;
        using System.Web.UI.HtmlControls;
        using System.Web.UI.WebControls;
        using System.Web.UI.WebControls.WebParts;
        using System.Xml.Linq;
        public partial class Test_Datalist數字分頁_ : System.Web.UI.Page
        {
        protected void Page_Load(object sender, EventArgs e)
        {
        //ComFunction cf = new ComFunction();
        //DataSet ds = cf.DataBind("M_dizhi");
        //this.PageInfo.InnerHtml = PageNums.GetPageNum(ds, DataList1, 12);
        this.PageInfo.InnerHtml = PageNums.GetPageSql("M_dizhi", DataList1, 12);
        }
        }

        PageNums.cs
        代碼如下:

        using System;
        using System.Data;
        using System.Configuration;
        using System.Web;
        using System.Web.Security;
        using System.Web.UI;
        using System.Web.UI.HtmlControls;
        using System.Web.UI.WebControls;
        using System.Web.UI.WebControls.WebParts;
        using System.Data.SqlClient;
        /// <summary>
        ///PageNums 的摘要說明
        /// </summary>
        public class PageNums
        {
        /// </summary>
        /// <param name="ds">DataSet實例</param>
        /// <param name="datalistname">DataList名稱</param>
        /// <param name="pagesize">分頁大小</param>
        public static string GetPageNum(DataSet ds, DataList datalistname, int pagesize)
        {
        PagedDataSource objPds = new PagedDataSource();
        objPds.DataSource = ds.Tables[0].DefaultView;
        objPds.AllowPaging = true;
        int total = ds.Tables[0].Rows.Count;
        objPds.PageSize = pagesize;
        int page;
        if (HttpContext.Current.Request.QueryString["page"] != null)
        page = Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);
        else
        page = 1;
        objPds.CurrentPageIndex = page - 1;
        datalistname.DataSource = objPds;
        datalistname.DataBind();
        int allpage = 0;
        int next = 0;
        int pre = 0;
        int startcount = 0;
        int endcount = 0;
        string pagestr = "";
        if (page < 1) { page = 1; }
        //計算總頁數
        if (pagesize != 0)
        {
        allpage = (total / pagesize);//計算總頁數
        allpage = ((total % pagesize) != 0 ? allpage + 1 : allpage);
        allpage = (allpage == 0 ? 1 : allpage);
        }
        next = page + 1;
        pre = page - 1;
        startcount = (page + 5) > allpage ? allpage - 9 : page - 4;//中間頁起始序號
        //中間頁終止序號
        endcount = page < 5 ? 10 : page + 5;
        if (startcount < 1) { startcount = 1; } //為了避免
        輸出的時候產生負數,設置如果小于1就從序號1開始
        if (allpage < endcount) { endcount = allpage; } //頁碼+5的可能性就會產生最終輸出序號大于總頁碼,那么就要將其控制在頁碼數之內
        pagestr = "共" + allpage + "頁";
        pagestr += page > 1 ? "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=1\">首頁</a>;<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + pre + "\">上一頁</a>" : "首頁 上一頁";
        //中間頁處理,這個增加時間復雜度,減小空間復雜度
        for (int i = startcount; i <= endcount; i++)
        {
        pagestr += page == i ? "<font color=\"#ff0000\">" + i + "</font>" : "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + i + "\">" + i + "</a>";
        }
        pagestr += page != allpage ? "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + next + "\">下一頁</a><a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + allpage + "\">末頁</a>" : " 下一頁 末頁";
        return pagestr;
        }

        public static string GetPageSql(string FileName, DataList datalistname, int pagesize)
        {
        int page;
        int allpage = 0;
        int next = 0;
        int pre = 0;
        int startcount = 0;
        int endcount = 0;
        string pagestr = "";
        if (HttpContext.Current.Request.QueryString["page"] != null)
        page = Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);
        else
        page = 1;
        if (page < 1) { page = 1; }
        DataSet ds = DataBindSql("EXEC pagesql '*',' FROM " + FileName + " '," + pagesize + "," + page, FileName);
        datalistname.DataSource = ds;
        datalistname.DataBind();
        int total = DataBind(FileName);
        //計算總頁數
        if (pagesize != 0)
        {
        allpage = (total / pagesize);//計算總頁數
        allpage = ((total % pagesize) != 0 ? allpage + 1 : allpage);
        allpage = (allpage == 0 ? 1 : allpage);
        }
        next = page + 1;
        pre = page - 1;
        startcount = page / 5 * 5;//中間頁起始序號
        //中間頁終止序號
        endcount = startcount+5;
        if (startcount < 1) { startcount = 1; } //為了避免輸出的時候產生負數,設置如果小于1就從序號1開始
        if (allpage < endcount) { endcount = allpage; } //頁碼+5的可能性就會產生最終輸出序號大于總頁碼,那么就要將其控制在頁碼數之內
        pagestr = "<a>"+page + "/" + allpage + "頁</a>";
        pagestr += page > 1 ? "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=1\">首頁</a><a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + pre + "\">上一頁</a>" : "首頁 上一頁";
        //中間頁處理,這個增加時間復雜度,減小空間復雜度
        for (int i = startcount; i <= endcount; i++)
        {
        pagestr += page == i ? "<font color=\"#ff0000\">" + i + "</font>" : "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + i + "\">" + i + "</a>";
        }
        pagestr += page != allpage ? "<a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + next + "\">下一頁</a><a href=\"" + HttpContext.Current.Request.CurrentExecutionFilePath + "?page=" + allpage + "\">末頁</a>" : " 下一頁 末頁";
        return pagestr;
        }
        private static int DataBind(string FileName)
        {
        string sql = "select * from " + FileName;
        DbConnection dc = new DbConnection();
        SqlConnection mycon = new SqlConnection(dc.ConnectionString);
        SqlDataAdapter mypter = new SqlDataAdapter(sql, mycon);
        DataSet ds = new DataSet();
        mycon.Open();
        mypter.Fill(ds, FileName);
        mycon.Close();
        int total = ds.Tables[0].Rows.Count;
        return total;
        }
        private static DataSet DataBindSql(string sql, string FileName)
        {
        DbConnection dc = new DbConnection();
        SqlConnection mycon = new SqlConnection(dc.ConnectionString);
        SqlDataAdapter mypter = new SqlDataAdapter(sql,mycon);
        DataSet ds = new DataSet();
        mycon.Open();
        mypter.Fill(ds, FileName);
        mycon.Close();
        return ds;
        }
        }

        存儲過程pagesql
        代碼如下:


        CREATE PROCEDURE pagesql
        @sqlSelect varchar(800) --SELECT 后面 FROM 前面 的 字段 不用包含SELECT
        ,@sqlFrom varchar(800) --FROM 后面 的 字段 包含FROM
        ,@countPerPage int -- 每頁數據行數
        ,@toPage int --要轉到的頁碼
        AS
        BEGIN

        -- 根據每頁數據行數 和 要轉到的頁碼 得到 數據起止點
        Declare @start int
        Declare @end int
        set @end = @countPerPage * @toPage
        set @start = @countPerPage * (@toPage - 1) + 1

        -- 臨時表名稱 可隨機命名
        Declare @tmpTable varchar(10)
        SET @tmpTable ='#tmp'
        Declare @sqlStr varchar(800)
        -- 創建數據源到臨時表
        SELECT @sqlStr = 'SELECT Identity(int,1,1) AS RowIndex,'
        SELECT @sqlStr = @sqlStr + rtrim(@sqlSelect) + ' INTO '+ @tmpTable
        SELECT @sqlStr = @sqlStr + rtrim(@sqlFrom)
        -- 查詢臨時表 得到所需要的數據
        SELECT @sqlStr = @sqlStr + ' '+'SELECT '+ rtrim(@sqlSelect) +' FROM ' + @tmpTable
        SELECT @sqlStr = @sqlStr + ' WHERE RowIndex BETWEEN ' + Convert(char,@start) + " AND " + Convert(char,@end)
        -- 刪除臨時表
        SELECT @sqlStr = @sqlStr + ' '+'DROP TABLE '+@tmpTable
        EXEC (@sqlStr)

        END
        GO

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net中Datalist使用數字分頁的實現方法

        asp.net中Datalist使用數字分頁的實現方法: 代碼如下:<%@ Page Language=C# AutoEventWireup=true CodeFile=Test(Datalist數字分頁).aspx.cs Inherits=Test_Datalist數字分頁_ %> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1
        推薦度:
        標簽: 使用 net 分頁
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲毛片网址在线观看中文字幕| 日本a级片免费看| 亚洲国产精彩中文乱码AV| 精品一区二区三区免费视频| 亚洲另类激情专区小说图片| 一个人晚上在线观看的免费视频| 亚洲国产小视频精品久久久三级 | 亚洲国产成人精品电影| 亚色九九九全国免费视频| 67194在线午夜亚洲| 四虎www成人影院免费观看| 亚洲国产AV无码一区二区三区 | 91精品免费国产高清在线| 亚洲一级免费视频| 四虎影视免费在线| 五月天国产成人AV免费观看| 亚洲亚洲人成综合网络| 无码人妻AV免费一区二区三区 | 亚洲成人在线免费观看| 成在人线AV无码免费| 羞羞网站在线免费观看| 亚洲精品无码鲁网中文电影| 亚洲免费视频观看| 亚洲AV日韩综合一区| 日本亚洲国产一区二区三区| 久久久久久国产精品免费无码 | 亚洲国产精品VA在线看黑人| 16女性下面无遮挡免费| 亚洲国产精品嫩草影院| 亚洲午夜福利717| 精品国产污污免费网站aⅴ| 亚洲精品国产suv一区88| 日本亚洲国产一区二区三区| 在线视频观看免费视频18| 搜日本一区二区三区免费高清视频 | 女人被男人桶得好爽免费视频 | 激情五月亚洲色图| 国产成人精品曰本亚洲79ren| 精品福利一区二区三区免费视频| 香蕉视频亚洲一级| 色婷婷亚洲十月十月色天|