当前位置:编程学习 > C#/ASP.NET >>

asp.net中大家是如何进行分页和排序功能的~

问题1:如何实现多种方式排序,比如按帖子发布时间,按帖子更新时间,按帖子的点击率~用到存储过程么~大概给个例子~
问题2:不想用gridview的分页功能,如何编写分页代码...又如何在分页之后保持着当前选择的排序方式,我现在点击下一页的时候原有的排序方式就被打乱了~ --------------------编程问答-------------------- 你可以吧排序方式保持到ViewState里 --------------------编程问答-------------------- 你可以把排序方式保持到ViewState里 --------------------编程问答-------------------- 在数据库层面做排序,不要用gridview的分页功能,不好用
网上应该有很多sql的分页方法 --------------------编程问答-------------------- 用AspNetPager加分页存储过程 --------------------编程问答-------------------- 分页可以用aspnetpager控件,分页的sql请参考。

----------------两个select 加两个order,双倒序(27秒钟)
select top 20 * from (select top 349980 * from Test where type >5 order by type desc) as temp order by type desc

----------------两个select 产生临时序号(1秒钟)
select * from (
select * ,ROW_NUMBER() OVER(ORDER BY type,ID) AS RowRank from Test where type >5) as temp
where RowRank between 350001 and 350020

----------------临时表,create+insert+select+drop(3秒钟)
----------------临时表,create+insert+select(2秒钟)
CREATE TABLE #PageIndexForUsers
(
    IndexID int IDENTITY (0, 1) NOT NULL,
    ID int
)
INSERT INTO #PageIndexForUsers (ID)
SELECT ID
FROM Test
WHERE type >5
ORDER BY type,ID

SELECT T.* FROM Test T, #PageIndexForUsers p
WHERE  p.ID = T.ID AND
       p.IndexId between 350000 and 350019

drop table #PageIndexForUsers
--------------------编程问答--------------------
引用 4 楼  的回复:
用AspNetPager加分页存储过程


哥,近几年,每年1月份 MS MVP申请成了你的头等大事哟, --------------------编程问答-------------------- 用的存储过程。然后再页面加载。 --------------------编程问答-------------------- 排序是用sql语句可以实现的,至于分页吗,你试试看DataPager控件。 --------------------编程问答-------------------- 你可以在sql 里就排好序的。。或者用存储过程传参的形式按某些字段排序 --------------------编程问答-------------------- 用ASPNETPaGER貌似会遇见问题
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,