怎么实现无组件翻页?

yeyuanzhi2000 2008-07-08 02:27:58
aspx.cs中的代码是这样的:
protected string showInfo(int id)
{
string sql = "select top 5 * from context where listid=" + id + "";
string tbody = "";
OleDbDataReader my_reader;
OleDbCommand my_comm = new OleDbCommand();

my_comm.CommandText= sql;
my_comm.CommandType = CommandType.Text;
my_comm.Connection = my_conn;
my_conn.Open();
my_reader = my_comm.ExecuteReader();
while (my_reader.Read())
{
tbody += "<TD style=OVERFLOW: hidden; TEXT-OVERFLOW: ellipsis noWrap align=left width=100% height=26>";
tbody += "<a href=show.aspx?id=" + my_reader["id"].ToString() + ">" + my_reader["title"].ToString() + " </a></TD></TR>";

}
my_reader.Close();
my_conn.Close();
return tbody;
}

在页面用<%=showInfo%>调用上面的代码进行显示。但是怎么才能翻页显示呢?高手指点,谢谢!!
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
7仔 2008-07-08
  • 打赏
  • 举报
回复
你在反页的链接里面传参数 比如 <a hreft="default.apx?PageNum=3 ">下一页</a>
这样当你点击下一页的时候 你把这个参数取下来,然后再使用楼上的反页存储过程进行反页;关于然后把连接修改为<a hreft="default.apx?PageNum=4 ">下一页</a> 如果有的话
yeyuanzhi2000 2008-07-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qq22345111 的回复:]
CREATE PROCEDURE GetCustomDataPage
@pageSize int,
@pageIndex int,
@pageCount int output,
@recordCount int output
AS
declare @SQL varchar(1000)
select @recordCount=count(*) from products
set @pageCount=ceiling(@recordCount*1.0/@pageSize)
if @pageIndex = 0 or @pageCount <=1
set @SQL='select top '+str(@pageSize)+' productID,productName, unitPrice from products order by productI…
[/Quote]
在哪里建立储存过程?怎么调用?
qq22345111 2008-07-08
  • 打赏
  • 举报
回复
上面的存储过程分页 完整的能用的
楼主应该给分的
qq22345111 2008-07-08
  • 打赏
  • 举报
回复
CREATE PROCEDURE GetCustomDataPage
@pageSize int,
@pageIndex int,
@pageCount int output,
@recordCount int output
AS
declare @SQL varchar(1000)
select @recordCount=count(*) from products
set @pageCount=ceiling(@recordCount*1.0/@pageSize)
if @pageIndex = 0 or @pageCount<=1
set @SQL='select top '+str(@pageSize)+' productID,productName, unitPrice from products order by productID asc'
else if @pageIndex = @pageCount -1
set @SQL='select * from ( select top '+str(@recordCount - @pageSize * @pageIndex)+' productID,productName, unitPrice from products order by productID desc) TempTable order by productID asc'

else set @SQL='select top '+str(@pageSize) +' * from ( select top '+str(@recordCount - @pageSize * @pageIndex)+' productID,productName, unitPrice from products order by productID desc) TempTable order by productID asc'

exec(@SQL)
GO
pazzini 2008-07-08
  • 打赏
  • 举报
回复
楼主在google里面搜一下:“存储过程 分页”,应该可以找到理想的结果。
pazzini 2008-07-08
  • 打赏
  • 举报
回复
用一个分页的存储过程来实现嘛,源码网上有。
yeyuanzhi2000 2008-07-08
  • 打赏
  • 举报
回复
谢谢各位[Quote=引用 1 楼 guoyz_1 的回复:]
int PageRows = pageSize; //每页显示行数
int TotalPages = (TotalRows % PageRows == 0) ? TotalRows / PageRows : (TotalRows / PageRows) + 1; //确切页数
if (cPage < 1) cPage = 1;
if (cPage > TotalPages) cPage = TotalPages;
//构造查询字符串
string realSqlStr = "Select * FROM (select ROW_NUMBER()Over(" + OrderFied + ") as rowId," …
[/Quote]
能具体一些吗?特别在页面中怎么操作?谢谢!!
shinlgienls 2008-07-08
  • 打赏
  • 举报
回复
int PageRows = pageSize; //每页显示行数
int TotalPages = (TotalRows % PageRows == 0) ? TotalRows / PageRows : (TotalRows / PageRows) + 1; //确切页数
if (cPage < 1) cPage = 1;
if (cPage > TotalPages) cPage = TotalPages;
//构造查询字符串
string realSqlStr = "Select * FROM (select ROW_NUMBER()Over(" + OrderFied + ") as rowId," + sqlStr + " ) as mytable where rowId between " + ((cPage - 1) * pageSize + 1) + " and " + (cPage * pageSize >= TotalRows ? TotalRows : cPage * pageSize);

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧