尚未分类 性能优化/调试 水晶报表与打印 安全与加密 图形图像 文件处理 基础教程 Web Services 内置对象 控件示例 正则表达式\采集 ADO.NET\数据绑定 缓存\泛型\线程 XML技术 Url重写\静态页 Enterprise企业库
返回首页
当前位置: 主页 > ASP.NET教程 > 尚未分类 >

ASP.NET 2.0 中AspNetPager.dll控件的分页方法操作方法

时间:2010-06-30 11:12来源:未知 作者:admin 点击:

前台显示界面代码Default.aspx[代码运行环境:VS.2005]
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ 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>用AspNetPager.dll控件的分页方法操作方法</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table border=1>
       <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
        <tr>
        <td><%#DataBinder.Eval(Container.DataItem,"job_id")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"job_desc")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"min_lvl")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"max_lvl")%></td>
        </tr>
        </ItemTemplate>
        </asp:Repeater>
    </table>
       <!--  <asp:DataGrid ID="DataGrid1" runat="server">
        </asp:DataGrid>-->
        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="733px" FirstPageText="第一页" LastPageText="最后一页" NextPageText="下一页" PrevPageText="上一页" Font-Names="Arial" BackColor="#F8B500" AlwaysShow="true"  ShowInputBox="Always" SubmitButtonText="跳转" SubmitButtonStyle="botton" OnPageChanged="AspNetPager1_PageChanged" >
              </webdiyer:AspNetPager>
    </div>
    </form>
</body>
</html>

//Default.aspx页面的代码

    DBAccess db = new DBAccess();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
           BindGrid();
        }
    }

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

    public void BindGrid()
    {
        this.AspNetPager1.RecordCount = Int32.Parse(db.GetAllCount().ToString());
        int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
        int pageSize = this.AspNetPager1.PageSize =5;
        Repeater1.DataSource = db.GetCurrentPage(pageIndex, pageSize);
        Repeater1.DataBind();
    }

//前台已经OK了,就差后台数据库连接及分页需要的方法,本项目数据库示例为PUBS数据库[安装SQL SERVER就有的],分页的表为jobs表

using System.Data.SqlClient;

public class DBAccess
{
    private SqlConnection con;
    private string DBName = "pubs";

    //创建连接对象并打开
    public void Open()
    {
        if (con == null)
            con = new SqlConnection("server=(local);uid=sa;pwd=sa;database="+DBName);
        if (con.State == ConnectionState.Closed)
            con.Open();
    }

    //创建一个命令对象并返回该对象
    public SqlCommand CreateCommand(string sqlStr)
    {
        Open();
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = sqlStr;
        cmd.Connection = con;
        return cmd;
    }

    //生成一个对象并返回该结果集第一行第一列
    public object GetScalar(string sqlStr)
    {
        SqlCommand cmd = CreateCommand(sqlStr);
        object obj = cmd.ExecuteScalar();
        //CommadnBehavior.CloseConnection是将于DataReader的数据库链接关联起来 
        //当关闭DataReader对象时候也自动关闭链接
        return obj;
    }

    
    //执行数据库查询并返回一个数据集 [当前页码,每页记录条数]
    public DataSet GetCurrentPage(int pageIndex, int pageSize)
    {
        //设置导入的起始地址
        int firstPage = pageIndex * pageSize;
        string sqlStr = "select * from jobs order by job_id desc";
        SqlCommand cmd = CreateCommand(sqlStr);
        DataSet dataset = new DataSet();
        SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);
        dataAdapter.Fill(dataset,firstPage,pageSize,"jobs");
        cmd.Dispose();
        Close();
        dataAdapter.Dispose();
        return dataset;
    }

    //获得查询数据的总条数
    public object GetAllCount()
    {
        string sqlStr = "select count(*) from jobs";
        object obj = GetScalar(sqlStr);
        return obj;
    }
 
    //关闭数据库
    public void Close()
    {
        if (con != null)
        {
            con.Close();
        }
    }

    //释放资源
    public void Dispose()
    {
        if (con != null)
        {
            con.Dispose();
            con = null;
        }
    }

(责任编辑:admin)
[返回顶部]
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
推荐内容
  • asp.net中Response.WriteFile()实现文件下载

    当文件上传后就牵涉到文件的下载。那么在asp.net怎样实现文件的下载呢?这是我要谈的话题。文件下载就是把用户从客户端上传的文件下载到本地。这里牵涉到几个问题:...

  • 禁止一个按钮在服务器事件处理完成前连续点击按钮

    改变文件上传控件的默认风格 本来那控件是实现了业务的要求,不过测试人员对于这个控件发现了一个严重度比较高的bug:当用户连续点击按钮后(还未等服务器执行事件完毕...

  • 总结MasterPage中的资源文件引用路径

    目前正在做的四川移动项目中遇到了一个小小的问题:母版页引用的脚本的相对路径该怎么写? 起因:对于这个相对路径是对于母版页还是对于内容页。答案是内容页,(母版页只...

  • ASP.Net使用CSS换肤

    常常看到有的网站通过DropDownList、菜单或按钮实现对整个网站改变页面风格(换肤)。专门Google了一些这方面的资料,总结了一下实现以上功能大致可以分...

  • Asp.Net避免按钮重复点击

    在CSDN的论坛上,经常有一些朋友询问有关按钮重复点击的问题.我也做过多次回答,但是为了解决更多朋友的问题,在这里,我把实现方法再次讲解一下,由于本人能力有限,...

  • 利用Jmail接收邮件

    /**////

    /// 利用Jmail接收邮件 /// private void ReciveByJmail()...