从开发人员的角度来看,如果他们在编写第一个ASP.NET程序时,他们会遇到哪些大的困难?
我对您的话感到吃惊,从ASP到ASP.NET并没有不可逾越的障碍。他们只是在一些细节上有所不同。当然有许多的是要引起注意的。例如,我们过去常用ASP与VB SCRIPT编写程序,当我们想创建一个record set对象的时候,我们不得不SET一个变量等于record set。在ASP.NET中没有SET这个参数,直接就是变量等于ADO records set对象。所以,在ASP与ASP.NET之间仅有一些小的语法的差异,这些小的语法差异根本不会影响到页面的性能,但是如果你将ASP程序移植到ASP.NET上时,你要注意这些小的差异。实际上,从ASP迁移到ASP.NET的代码量是很少的,不必考虑将整个程序代码移植,这两者实际上是可以并存的。因此你不必强制将你的网站的程序立即移植到ASP.NET上,你可以在新的工作中逐渐采用新的ASP.NET技术。
我想,你仍然可以像你从前那样声明你所有的数据类型。你仍然可以使用Server.CreateObject,你仍然可以使用 DIM RS,定义一个record set对象,你仍然可以使用DIM RS AS NEW ADO record set这种方式,对吗?
这只是我们的一种选择,在我们最少量的移植级别里面,你实际上不用考虑ASP 与ASP.NET的区别。你仍然可以使用 DIM RS 的方式,并且用这种方式创建与数据及相关的对象。这两者之间的主要区别是一个是用VB SCRIPT创建的对象,另一个是用VB创建的对象。
这么说,你们现在是已经改变到一种拥有类型的开发语言平台上了?
你说的很对,我们有数据类型了。我们现在更严格的进行应用程序的内存管理,而不是将每一件事情能够都看成是变量,我们现在可以将不同的事物看成string、 integer、a data set,因此我们可以更好地控制内存的使用。
接下来,我们应该演示一些代码用以解释上面所说的一些东西。
好的。我们的第一个问题是移植问题。这是一个典型的ASP代码的页面,我们将从数据库中取出数据放到表中。我们来看一下这些代码,我们首先定义了我们的connection 和我们的 record set, 我们创建了这些对象,我们用SET关键字设置我们的record set 等于connection的执行。接下来是一个DO WHILE 循环,将数据库中的信息显示在页面上。
<%
Dim con, rs
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=SQLOLEDB;server=(local);database=Northwind;UID=sa;PWD=;"
Set rs = con.Execute("SELECT ContactName, City FROM Customers")
%>
<html>
<body>
<table border="0">
<tr>
<td>ContactName</td>
<td>City</td>
</tr>
<%
Do While Not rs.EOF
%>
<tr>
<td><%=rs("ContactName")%></td>
<td>
| 对此文章发表了评论 |

