asp分页显示

xkj448421924 2009-12-13 05:36:36
在数据库里调出信息后,怎么进行分页显示。请哪位高手给个代码。并加一下注释。
...全文
3258 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhwydwfg 2010-04-06
  • 打赏
  • 举报
回复
leiziaitudou 受用了!!
leiziaitudou 2009-12-14
  • 打赏
  • 举报
回复
public partial class morenews : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.labPage.Text = "1";
this.dlBind();

}
}
public void dlBind()
{
int curpage = Convert.ToInt32(this.labPage.Text);
PagedDataSource ps = new PagedDataSource();
OleDbConnection mycon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("mynews.mdb"));
mycon.Open();
string SqlStr = "select * from news order by MyId Desc";
OleDbDataAdapter MyAdapter = new OleDbDataAdapter(SqlStr, mycon);
DataSet ds = new DataSet();
MyAdapter.Fill(ds, "SoftView");
ps.DataSource = ds.Tables["SoftView"].DefaultView;
ps.AllowPaging = true; //是否可以分页
ps.PageSize = 10; //显示的数量
ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
this.Repeater1.DataSource = ps;
this.labBackPage.Text = ps.PageCount.ToString();
this.lnkbtnUp.Enabled = true;
this.lnkbtnNext.Enabled = true;
this.lnkbtnBack.Enabled = true;
this.lnkbtnOne.Enabled = true;
if (curpage == 1)
{
this.lnkbtnOne.Enabled = false;//不显示第一页按钮
this.lnkbtnUp.Enabled = false;//不显示上一页按钮
}
if (curpage == ps.PageCount)
{
this.lnkbtnNext.Enabled = false;//不显示下一页
this.lnkbtnBack.Enabled = false;//不显示最后一页
}

this.Repeater1.DataSource = ps;
//this.Repeater1.DataMember= "id";//.DataKeyField
this.Repeater1.DataBind();
}

protected void lnkbtnOne_Click(object sender, EventArgs e)
{
this.labPage.Text = "1";
this.dlBind();
}
protected void lnkbtnUp_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
this.dlBind();
}
protected void lnkbtnNext_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
this.dlBind();
}
protected void lnkbtnBack_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(this.labBackPage.Text);
this.dlBind();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Redirect("main.aspx");
}
}
asp.net的希望能帮你
cxbase 2009-12-14
  • 打赏
  • 举报
回复
<%
'取跳转到第几页的页号
If CInt(Request("Page")) = 0 Then
pageTo = 1
Else
pageTo = CInt(Request("Page"))
End If

Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "数据库连接"
Rs.Open "Select * From [表名]",Conn,3,2

If Not(Rs.Bof And Rs.Eof) Then
Rs.pagesize = 10 '每页的显示数据的条数
Rs.absoultepage = pageTo
pageCount = Rs.pagecount
For i = 1 To Rs.pagesize
'读取记录的过程
Rs.MoveNext
If Rs.Eof Then Exit For
Next
Else
pagecount = 1
Response.Wirte("没有记录")
End If
%>

'跳转页面的控制
<%If pageTo >=2 Then%>
<a href="#" onClick="self.location.href='网页.asp?page=1'">首页 </a>
<a href="#" onClick="self.location.href='网页.asp?page= <%=pageTo-1%>'">上一页 </a>
<%Else%>
首页
上一页
<%End If%>

If pageTo <= pageCount - 1 then%>
<a href="#" onClick="self.location.href='网页.asp?page= <%=pageTo+1%>'">下一页 </a>
<a href="#" onClick="self.location.href='网页.asp?page= <%=pageCount%>'">末页 </a>
<%Else%>
下一页
末页
<%End If%>
wl_ldy 2009-12-13
  • 打赏
  • 举报
回复
可以参考一下
http://blog.csdn.net/pipi_sn/archive/2009/09/26/4597494.aspx
关于这方面的资料在很多人的博客中多有介绍的,可以去他们的博客看看,会有不小的收获的。。。
aemyang1987 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yan11cn 的回复:]
看看这个书籍分类的代码 应该对你有帮助

HTML code<!--#include file="conn.asp"--><%set rs_booklist=Server.CreateObject("ADODB.RecordSet")
sql="SELECT BookID, BookName, author FROM DB_bookinfo ORDER BY BookID"
rs_booklist.open sql,conn,1,3'conn是自己写的一个连接数据库函数If rs_booklist.BofAND rs_booklist.EofThen
Response.Write"没有数据"ElseDim page_size'此变量用来存放每一页的记录数。Dim page_nonce'此变量用来存放当前页的页码。Dim page_total'此变量用来存放总页数。page_size=7'将第一页记录数设置为7条。rs_booklist.PageSize=page_size
page_total=rs_booklist.PageCount'下面5句,是判断网页是不是刚打开,若是,则将1赋给变量page_nonce(即当前页为第一页),
'若不是,则将由Request对象的Querystring集合从HTTP查询字符串中获取来的变量值(当前页码)赋给变量page_nonce。If Request.QueryString("page_nonce")<>""Then
page_nonce=Cint(Request.QueryString ("page_nonce"))Else
page_nonce=1EndIf'将当前页码赋给记录集对象的表示当前记录页号的属性(AbsolutePage)。rs_booklist.AbsolutePage=page_nonceDim I
I=page_size'通过Do While 循环语句,将当前页的每一条记录读取出来。DoWhileNot rs_booklist.EofAnd I>0
I=I-1
Response.Write"<tr align='center'>"
Response.Write"<td height='10'>"& rs_booklist("BookID")&"</td>"
Response.Write"<td height='10'>"& rs_booklist("BookName")&"</td>"
Response.Write"<td height='10'>"& rs_booklist("author")&" </td>"'将记录指针移动到下一条记录。rs_booklist.MoveNextLoop
Response.Write"</table>"'开始做分页连接。Response.Write"<p align='center'>分页:"'通过For 循环将除当前页码号之外的每一个页码号做一个超连接,For j=1To page_totalIf j=page_nonceThen
Response.Write j&" "Else
Response.Write"<a href='booklist.asp?page_nonce="& j&"'>"& j&"</a> "EndIfNextEndIf
rs_booklist.CloseSet rs_booklist=nothing
Conn.CloseSet Conn=nothing%>

'conn.asp如下<%'创建连接对象set conn=server.CreateObject("ADODB.Connection")'连接字符串strSQL="Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("\book\db\bookshop.mdb")'conn.open strSQL%>
[/Quote]
yan11cn 2009-12-13
  • 打赏
  • 举报
回复
看看这个书籍分类的代码 应该对你有帮助


<!--#include file="conn.asp" -->
<%
set rs_booklist=Server.CreateObject("ADODB.RecordSet")
sql="SELECT BookID, BookName, author FROM DB_bookinfo ORDER BY BookID"
rs_booklist.open sql,conn,1,3 'conn是自己写的一个连接数据库函数
If rs_booklist.Bof AND rs_booklist.Eof Then
Response.Write "没有数据"
Else
Dim page_size '此变量用来存放每一页的记录数。
Dim page_nonce '此变量用来存放当前页的页码。
Dim page_total '此变量用来存放总页数。
page_size=7 '将第一页记录数设置为7条。
rs_booklist.PageSize=page_size
page_total=rs_booklist.PageCount
'下面5句,是判断网页是不是刚打开,若是,则将1赋给变量page_nonce(即当前页为第一页),
'若不是,则将由Request对象的Querystring集合从HTTP查询字符串中获取来的变量值(当前页码)赋给变量page_nonce。
If Request.QueryString("page_nonce")<>"" Then
page_nonce=Cint(Request.QueryString ("page_nonce"))
Else
page_nonce=1
End If
'将当前页码赋给记录集对象的表示当前记录页号的属性(AbsolutePage)。
rs_booklist.AbsolutePage=page_nonce
Dim I
I=page_size
'通过Do While 循环语句,将当前页的每一条记录读取出来。
Do While Not rs_booklist.Eof And I>0
I=I-1
Response.Write "<tr align='center'>"
Response.Write "<td height='10'>" & rs_booklist("BookID") & "</td>"
Response.Write "<td height='10'>" & rs_booklist("BookName") & "</td>"
Response.Write "<td height='10'>" & rs_booklist("author") & " </td>"
'将记录指针移动到下一条记录。
rs_booklist.MoveNext

Loop
Response.Write "</table>"
'开始做分页连接。
Response.Write "<p align='center'>分页: "
'通过For 循环将除当前页码号之外的每一个页码号做一个超连接,
For j=1 To page_total
If j=page_nonce Then
Response.Write j & " "
Else
Response.Write "<a href='booklist.asp?page_nonce=" & j & "'>" & j & "</a> "
End If
Next
End If
rs_booklist.Close
Set rs_booklist=nothing
Conn.Close
Set Conn=nothing
%>

'conn.asp如下
<%
'创建连接对象
set conn=server.CreateObject("ADODB.Connection")
'连接字符串
strSQL="Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("\book\db\bookshop.mdb")'
conn.open strSQL
%>
a2019503a 2009-12-13
  • 打赏
  • 举报
回复
是从数据库取记录时用sql语句在数据库中分页 取出要的那页的数据 页码是根据你总数和每页显示数计算得到并用循环显示

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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