从ASP迁移至ASP+--最初的考虑(二)

asp+

   运用和在一个单独模块中创建一个普遍性的连接相同的构想,我们创建了一个Pagelet。Pagelet使开发人员可以创建伪控件,伪控件和对象一样可以用来显示属性,方法以及事件。我们的方案是:创建一个显示ConnectToDB方法的Pagelet,该方法返回一个ADOConnection对象(与ADO的语法稍有不同)。我们用下面的代码创建Pagelet,将它存为connect.aspc(扩展名表明它是一个Pagelet)

   < %@ Import Namespace="System.Data" %>

   < %@ Import Namespace="System.Data.ADO" %>

   < script language="VB" runat="server">

   Public Function ConnectToDB() As ADOConnection

   ConnectToDB = New ADOConnection("DSN=evilleDSN")

   End Function

   < /script>

   你会注意到我们导入了两个Namespaces,即System.Data和System.Data.ADO。为了使用ADO+ Managed Provider这些Namespaces是必须的。许多人就此问了我许多问题,因为目前多数示例都使用基于Microsoft SQL Server 2000数据库的SQL Managed Provider。对于非SQL Server 数据库,ASP+可以使用ADO+ Managed Provider,这和目前你在程序中使用ADO的方式大致相同。导入Namespaces和在VB程序中创建参考(Reference)有异曲同工之妙。

   Pagelet的运用使我可以维护当前的站点计划,一旦在模块中创建了连接,我们就可在任何需要的地方重用模块。这意味着我们需要用Pagelet的一个实例来替代Include文件指令,然后当我们需要数据库连接时调用ConnectToDB方法。在需要使用Pagelet的页面中,我们首先必须使用ASP+指令将之与该页面注册(register)。在指令中,我们定义TagPrefix,TagName,以及Source(src)。与ASP中的include文件类似,在我们放置Pagelet的地方要用到TagPrefix和TagName。

   < %@ Register TagPrefix="seven" TagName="Connect"

   src="_includes/connect.aspc" %>

   放置我们刚注册的Pagelet的方法与ASP+服务器控件类似:

   < [TagPrefix]:[TagName] id=myPagelet runat=server />

   比如:

   < seven:Connect id=Connect runat=server />

   在ADO+中,记录集(Recordset)的概念被DataSets和DataViews的组合所取代。一会儿我们将讨论这两个概念。首先让我们看看在default.asp页面迁移至default.aspx(ASP+页面的后缀)后代码都有了哪些改变。先看default.asp:

   < !-- #include file="_includes/connect.inc" -->

   < %

   Dim cnEville_DB, rsUpcoming, strSqlUpcoming

   Set rsUpcoming = Server.CreateObject("ADODB.Recordset")

   strSqlUpcoming = " SELECT TOP 2 " & _

   "Classes.Title, Sessions.Session_ID, " & _

   "Sessions.Special, Classes.Description " & _

   "FROM Classes INNER JOIN Sessions ON " & _

   "Classes.Class_ID = Sessions.ClassID " & _

   "WHERE (((Sessions.Date)>Date())) " & _

   "ORDER BY Sessions.Date"

   rsUpcoming.Open strSqlUpcoming,cnEville_DB

   %>

   在ASP+中成了default.aspx:

   < %@ Import Namespace="System.Data" %>

   < %@ Import Namespace="System.Data.ADO" %>

   < %@ Register TagPrefix="seven" TagName="Connect" &_

   src="_includes/connect.aspc" %>

   < script language="vb" runat=server>

   Sub Page_Load(Source As Object, E As EventArgs)

   Dim dscUpcoming As ADODataSetCommand

   Dim dsUpcoming As New DataSet

   Dim strSQL As String

   strSQL = "SELECT TOP 2 Classes.Title," & _

   "Sessions.Session_ID, Classes.Description " & _

   "FROM Classes INNER JOIN Sessions ON " & _

   "Classes.Class_ID = Sessions.ClassID " & _

   "WHERE (((Sessions.Date)>Date())) " & _

   "ORDER BY Sessions.Date"

   dscUpcoming = New ADODataSetCommand(strSQL, Connect.ConnectToDB())

   dscUpcoming.FillDataSet(dsUpcoming, "Upcoming")

   End Sub

   < /script>

   数据访问的核心,ANSI-SQL语句在转换后没有什么
[1] [2] 下一页  

时间: 2024-12-10 07:51:57

从ASP迁移至ASP+--最初的考虑(二)的相关文章

从ASP迁移至ASP+--最初的考虑(一)

asp+ 它包括运行平台的配置,pagelet的建立,新的ADO+的使用,如何使用新的DataSet进行数据访问,HTML表格到DataList的转变,以及其他多种新的服务器端控件的使用技巧--还等什么?现在就来感受一下ASP+的全新魅力吧!) 自从微软在2000年7月的专业开发人员会议上宣布了ASP+以来, 一个相同的问题一直困扰着许多新闻组及讨论论坛:"我需要怎样做以使现有的web应用程序从ASP转换成asp+?" 专业开发人员会议的发言人称:代码方面无须作较大改动,整个转换过程也

从ASP迁移至ASP+

asp+ 原作者: 雨晨最初的考虑(一) 它包括运行平台的配置,pagelet的建立,新的ADO+的使用,如何使用新的DataSet进行数据访问,HTML表格到DataList的转变,以及其他多种新的服务器端控件的使用技巧--还等什么?现在就来感受一下ASP+的全新魅力吧!) 自从微软在2000年7月的专业开发人员会议上宣布了ASP+以来, 一个相同的问题一直困扰着许多新闻组及讨论论坛:"我需要怎样做以使现有的web应用程序从ASP转换成asp+?" 专业开发人员会议的发言人称:代码方

ASP 迁移到 ASP .NET:需考虑的重要问题

简介虽然 Microsoft ASP .NET 的设计者在保持 ASP 应用程序的向后兼容性方面做了大量不懈的努力,但在将 Web 应用程序由 ASP 向 ASP .NET 迁移之前,还是应该了解一下几个关键的问题.在 .NET 平台和 ASP .NET 中对现有技术进行了改进并采用了一些新技术,透彻理解这些技术有利于简化此迁移过程,但这需要经过一段漫长的时间. 本文探讨各方面的变化,以便让用户清楚地了解建立 ASP 应用程序并使其在 ASP .NET 环境中运行所必须进行的一些工作.同时,它还

从ASP迁移至ASP+ --将HTML表格转换为ASP+数据列表

asp+|数据|转换 原作者: 雨晨我们从数据存储中取回的数据将被用来显示eVille提供的下两节课程.基于页面设计方面的考虑,标准的表格在这里并不合适.数据需要以一种自定义的格式展示,用来显示课程名,课程描述,以及报名的链接(该链接通过QueryString传递Session_ID).下面是原始的ASP页面利用ADO记录集创建的一个循环,该循环为每条记录创建一个新的行. < table width="100%" border="0"> < tr&

从ASP迁移至ASP+ -----进入DataSet

asp+ 原作者: 雨晨ADO+引入了DataSet和DataView的概念.DataSet类似于记录集的集合,因为它能保存一个或多个数据及其之间关系的表(table).DataView是这些表中之一的实现,类似于ADO 记录集.在上面的例子中,我们的DataSet只保存一个表:Upcoming,我们要将之驻留于ASP+服务器控件中.可以通过以下方式向DataSet中加入更多表. *重新定义我们的SQL语句. *将ADODataCommand的SelectCommand属性设置为一个新的ADOD

从ASP迁移至ASP+ --转换其他的页面吧

asp+|页面|转换 原作者: 雨晨至于剩余的页面,我们依样画葫芦,使用ASP+ DataList或是Repeater控件.这样做是必要的,因为按设计要求需要定制的数据布局,而不是一个标准的表格显示.其中有个页面,classcatalog.aspx,有一处要求勾选值,然后根据选中的值,运行两个可能输出中的一个.该页就利用了Repeater控件,因此我们显示地创建了表格的行与列,而没有让控件来完成这一切.这是在templates的内部完成的.在ASP中,看起来是这样子的: '检查是否提供优惠 If

从ASP迁移至ASP+ --处理会话变量(Session Variables)

asp+|session|变量 现存的ASP版的eVille禁止对站点的某些部分的访问,除非用户已经登录.一些功能像查看将来的优惠特价,报名上课,以及了解自己当前的入学状况是受限制区域.如果想在未登录的状态下访问这类区域,你只会被重新导回到登录页面.用户在一份表格中输入他们的用户名与密码,然后与数据库的学生表进行比较,如果登录成功,一个名为blnLoggedIn的会话变量便被设为真.这种方法对这个站点是有效的,因为它架设在一台单一的服务器上.其它的方法将被用于web farms上的web应用程序

从PHP迁移到ASP.NET

asp.net 简介 本文讨论了从 PHP (PHP:Hypertext Preprocessor 4) 到 ASP.NET 的迁移,并对 PHP 和 Microsoft Visual Basic .NET 的基本语法以及基本功能和体系结构进行了对比. 尽管使用 PHP 和 ASP.NET 都可以构建复杂的 Web 应用程序(例如电子商务站点.Intranet 和企业门户),但两者之间却存在若干重要差别.与 PHP 不同,ASP.NET 并不是一种语言或分析器,而是 Microsoft .NET

迁移到 ASP .NET:需考虑的重要问题

问题 简介虽然 Microsoft ASP .NET 的设计者在保持 ASP 应用程序的向后兼容性方面做了大量不懈的努力,但在将 Web 应用程序由 ASP 向 ASP .NET 迁移之前,还是应该了解一下几个关键的问题.在 .NET 平台和 ASP .NET 中对现有技术进行了改进并采用了一些新技术,透彻理解这些技术有利于简化此迁移过程,但这需要经过一段漫长的时间. 本文探讨各方面的变化,以便让用户清楚地了解建立 ASP 应用程序并使其在 ASP .NET 环境中运行所必须进行的一些工作.同时