教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> ASP >> ASP.NET处理浏览器中数据分页的方法 RSS订阅
ASP.NET处理浏览器中数据分页的方法
ASP.NET处理浏览器中数据分页的方法(1)
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
在ASP的数据库编程的时,由于浏览器的大小限制,在要浏览的数据记录比较多的时候,为了达到更直观的效果,我们把这些数据记录分成若干的页面,通过数据导航按钮(或者其他超链接),分页的浏览。其实这种数据记录的分页浏览在ASP.NET也能够实现。并且在实现的过程中比起在ASP的处理过程显得条理更清晰,也更容易些。

  通过浏览器进行分页浏览数据记录基本类型主要有二种。其他类型的分页浏览要么是对这二种类型的修改,要么是对这二种类型的综合。具体表现方式的如下面这二幅图:


图01:第一种分页浏览数据记录式样


图02:第二种分页浏览数据记录式样

  下面就来探讨一下在ASP.NET中这二种分页浏览数据记录的具体实现过程:

  首先来介绍一下我们使用的数据库,在本文中为了方便起见,我们使用了本地数据库Access 2000,数据库名称为"Data.mdb",里面存放了一张数据表"tblItem"。此数据表的结构如下:

   字段名称 字段类型 ItemID 自动编号 ItemName 文本类型

  如果你采用的是别的数据库,只需对下面介绍的程序进行简单的修改就可以了。这将在下面介绍。

  一. 本文程序设计和运行的软件环境:

  (1).微软公司视窗2000服务器版

  (2)..Net FrameWork SDK Beta 2

  二. 第一种分页浏览数据记录的关键步骤以及实现方法:

  (1).首先要得到初始浏览数据记录的超链接字符串:

  这其实很关键,因为在第一种分页浏览中的"首页"、"下一页"等操作,都是通过在这个超链接字符串后面加入要浏览页面的参数来实现的,在本文的程序中是通过GetPageName ( )函数来实现的。此函数具体如下:

   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

  (2).要得到你所要浏览的数据记录总数:

  在本文中,为了方便,我们是把数据表"tblItem"中的全部记录都拿来浏览。ASP.NET页面通过ADO.NET来得到数据表"tblItem"。下面代码就是利用ADO.NET来得到"tblItm"表中记录总数的程序代码:

   <% @ Page Language = "VB" %>
  <% @ Import Namespace = "System.Data" %>
  <% @ Import Namespace = "System.Data.OleDb" %>
  <script runat = "server" >
  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 nStart As Integer '存放当前页面的起始记录序号
  Dim nEnd As Integer '存放当前页面的终止记录序号
  Dim i As Integer 

'确认要浏览的页面序号
nPage = Convert.ToInt32 ( Request.QueryString ( "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
  </script >

  (3).计算出浏览的数据记录总共页面数:

  在浏览页面中,我们发现了每一页只浏览5条记录,你可以通过修改程序中定义一个常量"Record_Per_Page"来改变每一页浏览数据记录的个数。在知道了要浏览数据记录的总数后,通过下面代码来计算出要显示这些数据记录所需要的页面总数:

   Const Record_Per_Page   As Short = 5 '定义每一页显示的记录数
  Dim nPageCount As Integer '保存总共的数据页面数目
  Dim nPage As Integer '存放要浏览当前数据页面号
  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

  ||||||(4).数据导航的实现方法:

  其实数据导航是通过对参数"Page"赋值来实现的,其中程序中的"nPage"是当前数据页面序号, "nPageCount"是数据页面的总和。下面是实现这些数据导航的具体实现代码:

   Response.Write ( " <p >数据导航:<A HREF = """ & Script_Name & _

来源:upschool.cn
作者:
关键字:方法
发表日期:2006-7-26

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:自动弹出窗口   下一篇:运用C#制作屏幕捕捉程序


共5页 9 7 [1] [2] [3] [4] [58 :>

2009-1-9 20:50:36
本文的相类似文章
  • Visual Basic 6中发送邮件的新方法
  • 0X000000该内存不能为read的解决方法
  • 计算机硬盘加密的四种方法
  • 经典:木马病毒万能查杀方法
  • 检查系统漏洞的常用方法
  • IRC后门病毒及手动清除方法
  • 病毒隐身新趋势及应对方法
  • 升级瑞星2005防火墙的方法
  • 浅析各种计算机病毒应对方法
  • 防止脚本病毒执行的通用方法
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com