现在的位置: 首页 > 综合 > 正文

我是如何使用AspNetPager7.2的!

2013年06月27日 ⁄ 综合 ⁄ 共 9155字 ⁄ 字号 评论关闭

1.首先下载AspNetPager7.2,项目中引用AspNetPager.dll

2. 在数据库中创建存储过程UP_GetRecordByPage

   ------------------------------------
--用途:分页存储过程(对有主键的表效率极高)
--说明:
------------------------------------

CREATE  PROCEDURE [dbo].[UP_GetRecordByPage]
    @tblName      varchar(255),       -- 表名
    @fldName      varchar(255),       -- 主键字段名
    @PageSize     int = 10,           -- 页尺寸
    @PageIndex    int = 1,            -- 页码
    @IsReCount    bit = 0,            -- 返回记录总数, 非 0 值则返回
    @OrderType    bit = 0,            -- 设置排序类型, 非 0 值则降序
    @strWhere     varchar(1000) = '' -- 查询条件 (注意: 不要加 where)
AS

declare @strSQL   varchar(6000)       -- 主语句
declare @strTmp   varchar(1000)        -- 临时变量(查询条件过长时可能会出错,可修改100为1000)
declare @strOrder varchar(400)        -- 排序类型

if @OrderType != 0
begin
    set @strTmp = '<(select min'
    set @strOrder = ' order by [' + @fldName +'] desc'
end
else
begin
    set @strTmp = '>(select max'
    set @strOrder = ' order by [' + @fldName +'] asc'
end

set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
    + @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
    + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
    + @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
    + @strOrder

if @strWhere != ''
    set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
        + @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
        + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
        + @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
        + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder

if @PageIndex = 1
begin
    set @strTmp =''
    if @strWhere != ''
        set @strTmp = ' where ' + @strWhere

    set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
        + @tblName + ']' + @strTmp + ' ' + @strOrder
end

if @IsReCount != 0
    set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWhere

exec (@strSQL)

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

 

3.在DAL的OverView.cs中有:

 

4. 在BLL的OverView.cs中有

5.在aspx中有:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Admin_NoteBook.aspx.cs" Inherits="Admin_Admin_NoteBook" %>

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<!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/Style.css" rel="stylesheet" type="text/css" />

    <script language="javascript" type="text/javascript">
        //全选全不选
        function SelectAll(obj)
        {
            var aspnetForm=document.getElementById("aspnetForm");
            if (aspnetForm.SelectID != null)
            {
                if (aspnetForm.SelectID.length == null)
                {
                    aspnetForm.SelectID.checked=obj.checked;
                }
                else
                {
                    for (i=0;i<aspnetForm.SelectID.length;i++)
                    {
                        if(aspnetForm.SelectID[i].checked!=obj.checked)
                        {
                            aspnetForm.SelectID[i].checked=obj.checked;
                        }
                    }
                }
            }
        }
        //检查操作
        function CheckSelect()
        {
            var aspnetForm=document.getElementById("aspnetForm");
            var checked=false;
            if (aspnetForm.SelectID != null)
            {
                if (aspnetForm.SelectID.length == null)
                {
                    if (aspnetForm.SelectID.checked == true)
                    {
                        checked=true;
                    }
                }
                else
                {
                    for (i=0;i<aspnetForm.SelectID.length;i++)
                    {
                        if(aspnetForm.SelectID[i].checked == true)
                        {
                            checked=true;
                        }
                    }
                }
            }
            if (checked == false)
            {
                alert("请选择要操作的记录");
                return false;
            }
            else
            {
                if (!confirm("注意:请问确定要操作吗"))
                {
                    return false;
                }
            }
            return true;
        }
    </script>

</head>
<body>
    <form id="aspnetForm" runat="server">
        <div>
            <div class="BodyBlock PTB5">
                <div class="Block Hidden">
                    <div class="Title H22 LH22 TC">
                        企业记事管理
                    </div>
                    <ul class="Header TC">
                        <li class="Left" style="width: 50px">ID</li>
                        <li class="Right" style="width: 30px">选择</li>
                        <li class="Right" style="width: 120px">添加时间</li>
                        <li class="TC">内容</li>
                    </ul>
                    <asp:Repeater ID="NoteList" runat="server">
                        <ItemTemplate>
                            <dl class="Middle TC">
                                <dd class="Left" style="width: 50px">
                                    <%#Eval("ViewID") %>
                                </dd>
                                <dd class="Right" style="width: 30px">
                                    <input type="checkbox" name="SelectID" value="<%#Eval("ViewID") %>" /></dd>
                                <dd class="Right" style="width: 120px">
                                    <%#String.Format("{0:yyyy-MM-dd HH:mm:ss}", Convert.ToDateTime(Eval("ViewAddTime"))) %>
                                </dd>
                                <dd class="TL">
                                    <a href='Admin_NoteBookAdd.aspx?ID=<%#Eval("ViewID") %>'>
                                        <%#Eval("ViewContent") %>
                                    </a>
                                </dd>
                            </dl>
                        </ItemTemplate>
                    </asp:Repeater>
                    <div class="Footer PTB5 TC">
                        <input type="button" class="Button" value="添加记事" onclick="window.location.href='Admin_NoteBookAdd.aspx'" />&nbsp;<asp:Button
                            CssClass="Button" ID="DeleteButton" Text="确定删除" OnClientClick="return CheckSelect()"
                            runat="server" OnClick="DeleteButton_Click" />&nbsp;<input type="checkbox" name="All"
                                onclick="SelectAll(this)" />全选/全不选
                    </div>
                </div>
                <div class="Block Hidden">
                    <div class="Pager" >
                        <div class="Pager_Info" >
                            <webdiyer:AspNetPager ID="AspNetPager1" runat="server" OnPageChanged="AspNetPager1_PageChanged"
                                CenterCurrentPageButton="True" CustomInfoHTML="第%CurrentPageIndex%页,共%PageCount%页,每页%PageSize%条"
                                FirstPageText="首页" LastPageText="尾页" LayoutType="Table" NextPageText="下一页" PageIndexBoxType="DropDownList"
                                PrevPageText="上一页" ShowCustomInfoSection="Right" SubmitButtonText="Go" TextAfterPageIndexBox="页"
                                TextBeforePageIndexBox="转到" CustomInfoTextAlign="Right" ShowPageIndexBox="Always" CustomInfoSectionWidth="15%">
                            </webdiyer:AspNetPager>
                        </div>
                    </div>
                </div>
            </div>
            <br />
            <br />
        </div>
    </form>
</body>
</html>

5.在NoteBook.cs中有:

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;

public partial class Admin_Admin_NoteBook : System.Web.UI.Page
{
    YHZB.BLL.tbl_OverView OverBLL = new YHZB.BLL.tbl_OverView();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            
            AspNetPager1.RecordCount = OverBLL.GetList(" ViewCate='" + cate + "'").Tables[0].Rows.Count;
            BindData();

        }
    }

    private void BindData()
    {

        NoteList.DataSource = OverBLL.GetList(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex , " ViewCate='" + cate + "'").Tables[0];
        NoteList.DataBind();
    }

    protected void DeleteButton_Click(object sender, EventArgs e)
    {
        string noteid = string.Empty;
        noteid = YHZB.Model.Requests.GetIntsForm("SelectID");
        if (noteid != "0")
        {
            foreach (string str in noteid.Split(new char[] { ',' }))
            {
                OverBLL.Delete(Convert.ToInt32(str));
            }
            BindData();
        }

    }

    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
        BindData();
    }
}

到此分页完成!

抱歉!评论已关闭.