懂c#的朋友把VB.NET的分页改为C#
<% @ Page Language = "VB" %>
<% @ Import Namespace = "System.Data" %>
<% @ Import Namespace = "System.Data.OleDb" %>


<script runat = "server" >



'定义每一页显示的记录数
public Record_Per_Page As Short =10
Private Script_Name As String
Sub Page_Load ( Source As Object , e As EventArgs )


Script_Name = GetPageName ( )
'第一种方式来分页显示数据
ShowRecords ( )
End Sub
'得到起始浏览超链接字符串
Function GetPageName ( ) As String
Dim Str As String
Dim Pos As Short
Str = Request.ServerVariables ( "Script_Name" ).Trim ( )
Pos = Str.LastIndexOf ( "/" )
If Pos >= 0 Then
Return Str.SubString ( Pos + 1 )
Else
Return Str
End If
End Function


'此函数的功能是分页显示数据库中的记录
Private Sub ShowRecords ( )
Dim strConn As String '定义数据连接字符串
Dim SQL As String '定义SQL语句
Dim odConn As OleDbConnection
Dim odAdapt As OleDbDataAdapter
Dim DS As DataSet '创建DataSet对象
Dim DT As DataTable '创建DataTable对象
Dim nRecCount As Integer '保存记录总数
Dim nPageCount As Integer '保存总共的数据页面数目
Dim nPage As Integer '存放要浏览当前数据页面号
Dim nStart As Integer '存放当前页面的起始记录序号
Dim nEnd As Integer '存放当前页面的终止记录序号
Dim i As Integer 


'确认要浏览的页面序号
nPage = Convert.ToInt32 ( Request.QueryString ( "Page" ) )
'response.write(cint( Request.QueryString ( "Pagex" ) ))
if cint( Request.QueryString ( "Pagex" ) ) > 0 then
Record_Per_Page=Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
end if
'TextBox2.text=Record_Per_Page
SQL = "SELECT * FROM tblItem "


'创建数据连接字符串
strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; " & _
" Data Source = " & Server.MapPath ( "data.mdb" ) & " ; " & _
" User ID = ; Password = ; "
Try
'得到数据记录总数
odConn = New OleDbConnection ( strConn )
odAdapt = New OleDbDataAdapter ( SQL , odConn )
DS = New DataSet
odAdapt.Fill ( DS)



DT = DS.Tables ( 0 )
nRecCount = DT.Rows.Count
Catch e As Exception
Response.Write("错误信息:<b>" & e.Message & "</b><p>")
nRecCount = 0
End Try


'判断是否存在数据记录
If nRecCount > 0 Then
'确定数据记录要显示的页面数
nPageCount = nRecCount \ Record_Per_Page
If nRecCount Mod Record_Per_Page > 0 Then
nPageCount += 1
End If


'确认浏览命令中的页面参数是否越界,如果越界则重置页面序号
If nPage < 1 Then
nPage = 1
End If
If nPage > nPageCount Then
nPage = nPageCount
End If


'确认当前页面的开始记录和终止记录
nStart = Record_Per_Page * ( nPage - 1 )
nEnd = nStart + Record_Per_Page - 1
If nEnd > nRecCount - 1 Then
nEnd = nRecCount - 1
End If
'在屏幕中输出记录
For i = nStart To nEnd
'call tabx(DT.Rows ( i ) ( "Itemid" ).tostring(),DT.Rows ( i ) ( "ItemName" ).tostring(),DT.Rows ( i ) ( "Itemtext" ).tostring())


Dim r as HtmlTableRow
r = New HtmlTableRow()
<%--
显示图片联接的代码
dim ii as integer = (DT.Rows ( i ) ( "Itemid" ) Mod Record_Per_Page)
Dim c0 as HtmlTableCell
c0 = New HtmlTableCell()
c0.align="center"
c0.InnerHtml= "<a href='no1.aspx'><img src=pic/" & ii & ".gif > <br><a> " & DT.Rows ( i ) ( "Itemtext" ).tostring() & "</a>"
r.Cells.Add(c0)
--%>
Dim c1 as HtmlTableCell
c1 = New HtmlTableCell()
c1.InnerHtml=DT.Rows ( i ) ( "Itemid" ).tostring() & " "
r.Cells.Add(c1)
Dim c2 as HtmlTableCell
c2 = New HtmlTableCell()
c2.InnerHtml=DT.Rows ( i ) ( "ItemName" ).tostring() & " "


r.Cells.Add(c2) 


Dim c3 as HtmlTableCell
c3 = New HtmlTableCell()
c3.InnerHtml=DT.Rows ( i ) ( "Itemtext" ).tostring() & " "
r.Cells.Add(c3)
Dim c4 as HtmlTableCell
c4 = New HtmlTableCell()
c4.InnerHtml= "<A HREF = ""modify.aspx?id=" & DT.Rows ( i ) ( "Itemid" ).tostring() & """>" & DT.Rows ( i ) ( "Itemid" ).tostring() & "</A >" 


r.Cells.Add(c4)
Table1.Rows.Add(r)
Next


End If


'定义导航条
dim a1 as String
a1=Script_Name & "?Page=1&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
HyperLink1.Text="首页"
HyperLink1.NavigateUrl=a1
dim a2 as String
a2= Script_Name & "?Page=" & ( nPage - 1 ).ToString ( ) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
HyperLink2.Text="上页"
HyperLink2.NavigateUrl=a2
dim a3 as String
a3= Script_Name & "?Page=" & ( nPage + 1 ).ToString ( ) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
HyperLink3.Text="下页"
HyperLink3.NavigateUrl=a3 


dim a4 as String
a4= Script_Name & "?Page=" & ( nPageCount ).ToString ( ) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
HyperLink4.Text="尾页"
HyperLink4.NavigateUrl=a4
Label1.Text="页次" & nPage & " / " & nPageCount 
'添加下拉列表项目
if Convert.ToInt32 ( Request.QueryString ( "Page" ) ) >= nPageCount then
sel.items.add( nPageCount )
else 


if Convert.ToInt32 ( Request.QueryString ( "Page" ) ) <= 1 then
sel.items.add( 1 )
else
sel.items.add(Convert.ToInt32 ( Request.QueryString ( "Page" ) ).ToString ( ))
end if
end if


for i = 1 to (nPageCount)
sel.items.add(i.ToString ( ))
next


End Sub



'下拉列表项目 被选后的动作
Sub SubmitBtn_Click1(Sender As Object,E As EventArgs)
dim a5 as String
a5=Script_Name & "?Page=" & sel.SelectedItem.text.ToString ( ) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )


Response.Redirect(a5)


End Sub
Sub Button1_Click(Sender As Object, e As EventArgs)
If Page.IsValid Then
dim a6 as String
if trim(TextBox1.text)<>"" then


a6=Script_Name & "?Page=" & trim(TextBox1.text) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
else
a6=Script_Name & "?Page=" & Convert.ToInt32 ( Request.QueryString ( "Page" ) ) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )


end if
Response.Redirect(a6)


End If
End Sub
'定义每页显示的记录条数目
Sub Button2_Click(Sender As Object, e As EventArgs)
If Page.IsValid Then
dim a7 as String
if trim(TextBox2.text)<>"" then
a7=Script_Name & "?Page=1" & "&pagex=" & trim(TextBox2.text)
else
a7=Script_Name & "?Page=" & Convert.ToInt32 ( Request.QueryString ( "Page" ) ) & "&pagex=" & Convert.ToInt32 ( Request.QueryString ( "Pagex" ) )
end if
Response.Redirect(a7)
End If
End Sub



浙公网安备 33010602011771号