谁能讲述一下asp.net pager 控件的简单使用方法?

我用的是sql server 2005 devoloper edition。vs 2005,。net framework2.0.。。。
<add key="dsn" value="Data Source=(local);UID=sa;PWD=**;DATABASE=LMS"/> 用这个格式连接数据库的。
想用asp.net pager 控件把数据库表格的内容分页显示出来。表的内容可以随便。AspNetPager.dll,UrlRewritingNet.UrlRewriter.dll 我已经下载好了。
比方说表里的内容是别人的留言信息,我把留言者的名称用label,留言的内容用table,日期用别的什么的,分页的部分有第一页,下一页,上一页,最后一页等语句来写。地址像http://../page_1.aspx,/page_2.aspx重写。怎样实现啊?给个自己编写的最简单的实例多加分,qq:764665868.或者msn:almas_chn@hotmail.com。在线等待!急!!答案满足加分加到大侠满足位置!先谢了
能不能给个具体点的实例啊?拜托。。。。。 aspx 怎么写 cs 怎么写啊?

在数据库中写存储过程
第一个获取数据
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[sp_GetRows]
@tblName varchar(255), -- 表名
@fldName varchar(1000), -- 所要提取的字段名
@OrderByfldName varchar(255), -- 排序所依据的字段名
@OrderType int = 0, -- 设置排序类型,默认0为升序,非0为降序
@PageSize int = 10, -- 每页显示的记录数
@PageIndex int = 1, -- 页码
@strWhere varchar(1000)='1=1' -- 查询条件 (注意: 不要加 where)
AS

declare @strSQL varchar(6000) -- 主语句

if @OrderType != 0 begin
set @strSQL='SELECT * FROM (SELECT ROW_NUMBER() OVER(order by '+@OrderByfldName+' desc) AS pos,'+@fldName+' FROM ['+@tblName+'] where '+@strWhere+') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)
end
else begin
set @strSQL='SELECT * FROM (SELECT ROW_NUMBER() OVER(order by '+@OrderByfldName+' asc) AS pos,'+@fldName+' FROM ['+@tblName+'] where '+@strWhere+') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)
end
--print @strSQL
exec (@strSQL)

第二个 获取数据行

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

--获取数据表记录数量的存储过程
ALTER proc [dbo].[sp_GetRowsCount]
@tblName varchar(255), -- 表名
@strWhere varchar(1000) = '1=1' -- 查询条件 (注意: 不要加 where)
as
declare @strSql varchar(6000) --查询语句
set @strSql='select count(*) as Total from ['+@tblName+'] where '+@strWhere
--print @strSql
exec (@strSql)
然后再调用这两个存储过程
在前台中这样写:
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 注册一下
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True"
CssClass="paginator" CurrentPageButtonClass="cpb"
PrevPageText="上一页"
LastPageText="末页" FirstPageText="首页" NextPageText="下一页"
NumericButtonCount="3" onpagechanged="AspNetPager1_PageChanged1">
</webdiyer:AspNetPager>

后台这样写:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.Common com = new BLL.Common();
this.AspNetPager1.RecordCount = com.GetRowsCount("***");
this.AspNetPager1.PageSize = 5;
this.databind(this.txt_select.Text.Trim());
}
}

public void databind(string str)
{
int currPageIndex = this.AspNetPager1.CurrentPageIndex;
BLL.Common com = new BLL.Common();
DataTable dt = com.GetRows("***", "*", "djid", 0, 5, currPageIndex, "**’” like '%" + str + "%'");

this.gw_select.DataSource = dt;
this.gw_select.DataKeyNames = new string[] { "***" };
this.gw_select.DataBind();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-08
把数据源给那个pager就ok 啊.
1-----------------------
DataSet ds = PycSQLHelper.SqlHelper.ExecuteDataset(PycSQLHelper.SqlHelper.StoreConnString, CommandType.Text, strSql1, parameter);
DataView dv = new DataView(ds.Tables[0]);
PagedDataSource pds = new PagedDataSource();
pds.AllowPaging = true;
pds.DataSource = dv;
AspNetPager1.RecordCount = dv.Count;
pds.CurrentPageIndex = page - 1;
AspNetPager1.CurrentPageIndex = page;
pds.PageSize = AspNetPager1.PageSize;
dl_qunall.DataSource = pds;
dl_qunall.DataBind();
------------------------

然后再在pager 的事件中绑定
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
RepeaterDataBind(page);
}
第2个回答  2010-06-08
没看懂你的意思,下面是DataList分页有关的代码,分页面和后台两部分代码.DataList有比GridView更好的用户自定义性,你可以将DateList自定义成一个表格或者DIV里面放一些label来绑定查询出的数据表中的数据.

页面代码:
<asp:LinkButton ID="lnkbtnFirst" runat="server" OnClick="lnkbtnFirst_Click">首页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnFront" runat="server" OnClick="lnkbtnFront_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnNext" runat="server" OnClick="lnkbtnNext_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="lnkbtnLast" runat="server" OnClick="lnkbtnLast_Click">尾页</asp:LinkButton>
当前页码为:<asp:Label ID="labPage" runat="server" Text="1"></asp:Label>
总页码为:
<asp:Label ID="labBackPage" runat="server" Text="Label"></asp:Label>

后台代码:

PagedDataSource ps = new PagedDataSource();
protected void Bind()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConStrLeaveWord"].ConnectionString);
con.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from tbLeaveWord order by ID desc", con);
DataSet ds = new DataSet();
sda.Fill(ds, "tbLeaveWord");
//获取数据源
//调用分页方法
ps = GetPaging(ds, "tbLeaveWord", 5);
//设置当前页的索引
SettingPage(ps);
this.DataList1.DataSource = ps;
//this.DataList1.DataKeyField = "CustomerID";
DataList1.DataSource = ps;
DataList1.DataBind();
con.Close();
}
/// <summary>
/// 设置当前页的索引
/// </summary>
/// <param name="ps">分页的数据</param>
private void SettingPage(PagedDataSource ps)
{
//获取当前页
int curpage = Convert.ToInt32(this.labPage.Text);

ps.CurrentPageIndex = curpage - 1;
this.lnkbtnFront.Enabled = true;
this.lnkbtnNext.Enabled = true;
this.lnkbtnLast.Enabled = true;
this.lnkbtnFirst.Enabled = true;
if (curpage == 1)//等于第一页
{
this.lnkbtnFront.Enabled = false;
this.lnkbtnFirst.Enabled = false;
}
if (curpage == ps.PageCount)//等于最后一页
{
this.lnkbtnNext.Enabled = false;
this.lnkbtnLast.Enabled = false;
}
//显示总页数
this.labBackPage.Text = Convert.ToString(ps.PageCount);

}
/// <summary>
/// 获得数据源为DataSet对table分页 返回agedDataSource
/// </summary>
/// <param name="dataSet"> 数据源 DataSet</param>
/// <param name="tableName"> 表名</param>
/// <param name="pagSize"> 每页的页数</param>
/// <returns> </returns>
private PagedDataSource GetPaging(DataSet dataSet, string tableName, int pageSize)
{
PagedDataSource pageDataSource = new PagedDataSource();
pageDataSource.DataSource = dataSet.Tables[tableName].DefaultView;
pageDataSource.AllowPaging = true;
pageDataSource.PageSize = pageSize;
return pageDataSource;
}

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
Bind();
}

}

protected void lnkbtnFirst_Click(object sender, EventArgs e)
{
labPage.Text = "1";
Bind();
}
protected void lnkbtnLast_Click(object sender, EventArgs e)
{
labPage.Text = this.labBackPage.Text;
Bind();
}
protected void lnkbtnFront_Click(object sender, EventArgs e)
{
labPage.Text = (Convert.ToInt32(labPage.Text) - 1).ToString();
Bind();
}
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
labPage.Text = (Convert.ToInt32(labPage.Text) + 1).ToString();
Bind();
}
第3个回答  2010-06-11
楼主说的太乱了

谁能讲述一下asp.net pager 控件的简单使用方法?
在前台中这样写:<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 注册一下 <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True"CssClass="paginator" CurrentPageButtonClass="cpb"PrevPageText="上一页"LastPageText="末页" FirstPage...

asp.net 怎么分页
如果GridView是直接绑定数据库,则很简单:只要点击GridView空间左上角的小三角形,再弹出的选项中,将"启动分页"打上勾即可。 如果是用代码实现,则需要这么做: 1、允许分页:设置AllowPaging=True; 2、设置GridView属性栏中PagerSetting里的一些属性中,定义分页的样式; 3、数据部署:将数...

求:ASP.NET WEB项目效果最好的分页方式(效率高的)
除了存储过程就是sql分页 不过和存储过程差不多,效率差而且写起来异常麻烦。记得使用aspnet_pager 啊

ASP.NET3.5揭秘目录
1.3 使用CreateUserWizard控件 1.4 使用LoginStatus控件 1.5 使用LoginName控件 1.6 使用ChangePassword控件 1.7 使用PasswordRecovery控件 1.8 使用LoginView控件 1.9 小结 第2章 使用ASP.NET Membership 2.1 配置身份验证 2.2 配置安全授权 2.3 使用ASP.NET Membership 2.4 使用角色管理器 2...

ASP.NET中实现模版的动态加载
ASP NET中 经常会使用到templates(模版)功能 比如在datagrid datalist repeater等控件中 使用templates 将会大大增强其功能 以往 我们一般是在设计程序时 就已经设置好控件中的模版是怎样的了 但是 有的时候 可能我们需要动态加载模版 比如 当你要求你的应用程序的界面风格随着用户的需求而变化时 你就需要...

asp.net3.5 ListView控件如何实现自动编号?
DataPager里面有3个字段:NextPreviousPagerField--用来显示"上一页","下一页"之类 NumericPagerField--用来显示数字页 TemplatePagerField--自定义分页 如果使用ObjectDataSource数据源的话,要实现数据源分页 我的经验~

ASP.NET 实现repeater 分页功能,是将一整个文件内容进行分页,要怎么实 ...
Repeater的分页和datalist的一样,你可以使用分页控件就OK了,比如ASPNetPager,webpager...分页控件就可以实现

asp.net如何创建用户自定义控件
1.打开VS2008-新建一个工程-选译ASP。NET服务器控件 2.自动生成一个文件,打代码拷进去,调试好程序 3.点击“生成菜单-生成XX” 4.到 工程目录\\bin\\Debug 找到dll文件把它拷到一个固定目录里如:DotNet_DLL里===附带一个我重写Repeater的代码===using System;using System.Collections.Generic;using System.Compo...

.net 分页 要求效果是 上一页1 2 3 4 5 6 下一页
<asp:LinkButton ID="btnNext" runat="server" CommandName="Pager" CommandArgument="Next" OnCommand="PagerButtonClick" Text="下一页"><\/asp:LinkButton> <asp:LinkButton ID="btnLast" runat="server" CommandName="Pager" CommandArgument="Last" OnCommand="PagerButtonClick" Text="尾页"...

ASP.NET3.5入门指南目录
ASP.NET3.5入门指南目录 第一部分:基础篇 第1章:配置ASP.NET 3.5开发环境 1.1安装Visual Studio 2008 1.2安装其他相关软件 第2章:ASP.NET 3.5的新特性 2.1ASP.NET 3.5新特性概述 2.2实验1:利用ListView控件 2.3实验2:应用DataPager控件 2.4实验3:操作LinqDataSource控件 2.5实验...

相似回答
大家正在搜