zoukankan      html  css  js  c++  java
  • ASP.NET DataList 分页之PagedDataSource

    第一次发文章,请大家多多包含,后面会陆续发出其他分页方式。

    DataList控件的灵活性简直无可挑剔了,但是没有把分页像Gridview那样封装进去,下面和大家一起分享一下用 PagedDataSource的分页....

    前台代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataList.aspx.cs" Inherits="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>
    </head>
    <body>
        <form id="form1" runat="server">
        <div style="text-align: center">
            <asp:DataList ID="DataList1" runat="server"   RepeatColumns="1"
                Width="190px">
                <ItemTemplate>
                    <table border="1" bordercolor="blue" style=" 721px">
                        <tr>
                            <td style=" 100px; text-align: right;">
                    BookMarkID:</td>
                            <td style=" 100px">
                    <asp:Label ID="BookMarkIDLabel" runat="server" Text='<%# Eval("BookMarkID") %>'>
                    </asp:Label></td>
                        </tr>
                        <tr>
                            <td style=" 100px; text-align: right;">
                    BookMarkName:
                            </td>
                            <td style=" 100px">
                    <asp:Label ID="BookMarkNameLabel" runat="server" Text='<%# Eval("BookMarkName") %>'>
                    </asp:Label></td>
                        </tr>
                        <tr>
                            <td style=" 100px; text-align: right;">
                    BookMarkDesc:
                            </td>
                            <td style=" 100px">
                    <asp:Label ID="BookMarkDescLabel" runat="server" Text='<%# Eval("BookMarkDesc") %>'>
                    </asp:Label></td>
                        </tr>
                        <tr>
                            <td style=" 100px; text-align: right;">
                    BookMarkText:</td>
                            <td style=" 100px">
                    <asp:Label ID="BookMarkTextLabel" runat="server" Text='<%# Eval("BookMarkText") %>'>
                    </asp:Label></td>
                        </tr>
                    </table>
                    <br />
                </ItemTemplate>
            </asp:DataList>
                    第<asp:Label ID="Label1" runat="server"></asp:Label>页 
            <asp:HyperLink ID="HyperLink1" runat="server" OnDataBinding="Page_Load">首页</asp:HyperLink>
            <asp:HyperLink ID="HyperLink2" runat="server" OnDataBinding="Page_Load">上一页</asp:HyperLink>
            <asp:HyperLink ID="HyperLink3" runat="server" OnDataBinding="Page_Load">下一页</asp:HyperLink>
            <asp:HyperLink ID="HyperLink4" runat="server" OnDataBinding="Page_Load">末页</asp:HyperLink> 
            共<asp:Label
                        ID="Label2" runat="server"></asp:Label>页
        
        </div>
        </form>
    </body>
    </html>
    
    


     

    后台代码:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class DataList : System.Web.UI.Page
    {
       
        SqlConnection sqlcon = new SqlConnection("server=.;Database=DBDemo;user id=sa;pwd=123");
        public string strsql = "SELECT * FROM BookMarks";
        protected void Page_Load(object sender, EventArgs e)
        { //设置数据源
            PagedDataSource page = new PagedDataSource();
            SqlDataAdapter adp = new SqlDataAdapter(strsql, sqlcon);
            sqlcon.Open();
            DataSet dst = new DataSet();
            adp.Fill(dst, "table");
            DataTable tab = new DataTable();
            tab=dst.Tables["table"];
            page.DataSource = tab.DefaultView;
            //分页实现
            page.PageSize = 3;
            page.AllowPaging = true;
            int CurPage;
            if (Request.QueryString["Page"] != null)
            {
                CurPage = Int32.Parse(Request.QueryString["Page"]);
            }
            else
                CurPage = 1;
            page.CurrentPageIndex = CurPage - 1;
            this.Label1.Text = CurPage.ToString();
            this.Label2.Text = page.PageCount.ToString();
            if (!page.IsFirstPage && CurPage > 1)
            {
                this.HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
            }
            if (!page.IsLastPage && CurPage < page.PageCount)
            {
                this.HyperLink3.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
            }
            this.HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=1";
            this.HyperLink4.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(page.PageCount.ToString());
    
            DataList1.DataSource = page;
            DataList1.DataBind();
            sqlcon.Close();
        }
        
    
       
    }
    
    
    


     

  • 相关阅读:
    模型层
    视图层,模板层
    ORM表关系建立
    CMakeList入门
    C++标准模板库
    C++基本语法
    g++应用说明
    Linux快捷键
    Git 操作备忘
    Block的详细介绍
  • 原文地址:https://www.cnblogs.com/chenpan/p/3661858.html
Copyright © 2011-2022 走看看